rpm  5.4.14
rpmgc.h
Go to the documentation of this file.
1 #ifndef H_RPMGC
2 #define H_RPMGC
3 
8 #include <rpmiotypes.h>
9 #include <rpmpgp.h>
10 #include <rpmsw.h>
11 
12 /* Implementation specific includes. */
13 #if defined(_RPMGC_INTERNAL)
14 /* XXX http://stackoverflow.com/questions/10556299/compiler-warnings-with-libgcrypt-v1-5-0 */
15 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
16 #include <gcrypt.h>
17 #pragma GCC diagnostic warning "-Wdeprecated-declarations"
18 #endif
19 
22 typedef /*abstract@*/ struct rpmgc_s * rpmgc;
23 
27 #if defined(_RPMGC_INTERNAL)
28 struct rpmgc_s {
29  int in_fips_mode; /* XXX trsa */
30  int nbits; /* XXX trsa */
31  int qbits; /* XXX trsa */
32  gcry_error_t badok; /* XXX trsa */
33  gcry_error_t err;
34 
35  void * digest;
36  size_t digestlen;
37 
38  gcry_sexp_t key_spec; /* XXX private to Generate? */
39  gcry_sexp_t key_pair; /* XXX private to Generate? */
40 
41  gcry_sexp_t pub_key;
42  gcry_sexp_t sec_key;
43  gcry_sexp_t hash;
44  gcry_sexp_t sig;
45 
46  /* DSA/ELG parameters. */
47  gcry_mpi_t p; /* ECDSA too */
48  gcry_mpi_t q; /* ECDSA too */
49  gcry_mpi_t g; /* ECDSA too */
50  gcry_mpi_t y;
51 
52  gcry_mpi_t r; /* ECDSA too */
53  gcry_mpi_t s; /* ECDSA too */
54 
55  /* RSA parameters. */
56  gcry_mpi_t n; /* ECDSA too */
57  gcry_mpi_t e;
58  gcry_mpi_t c;
59 
60  /* ECDSA parameters. */
61  gcry_mpi_t o; /* oid-in-opaque-mpi like libgcrypt does */
62  gcry_mpi_t a; /* unused */
63  gcry_mpi_t b; /* unused */
64 /*@only@*/
65  const char * oid; /* curve oid string like "1.2.840.10045.3.1.7" */
66 /*@only@*/
67  const char * curve; /* curve string like "NIST P-256" */
68 
69 };
70 #endif
71 
72 /*@unchecked@*/
74 
75 #endif /* H_RPMGC */
struct rpmgc_s * rpmgc
Definition: rpmgc.h:22
q
Definition: macro.c:451
OpenPGP constants and structures from RFC-2440.
char * p
Definition: macro.c:413
const char * g
Definition: macro.c:1697
char * o
Definition: macro.c:745
char * n
Definition: macro.c:744
static const char *char c
Return text between pl and matching pr characters.
Definition: macro.c:470
const char * s
Definition: poptALL.c:734
pgpImplVecs_t rpmgcImplVecs
Implementation specific parameter storage.
char * b
Definition: macro.c:746
const unsigned char * digest
Definition: rpmfi-py.c:247