rpm  5.4.10
rpmssl.h
Go to the documentation of this file.
1 #ifndef H_RPMSSL
2 #define H_RPMSSL
3 
8 #include <rpmiotypes.h>
9 #include <rpmpgp.h>
10 #include <rpmsw.h>
11 
12 /* Implementation specific includes. */
13 #if defined(_RPMSSL_INTERNAL)
14 
15 #include <openssl/opensslconf.h>
16 #if defined(OPENSSL_NO_EC) && !defined(OPENSSL_NO_ECDSA)
17 #define OPENSSL_NO_ECDSA
18 #endif
19 
20 #include <openssl/bn.h>
21 #include <openssl/dsa.h>
22 #include <openssl/rsa.h>
23 #include <openssl/engine.h>
24 #endif
25 
28 typedef /*abstract@*/ struct rpmssl_s * rpmssl;
29 
33 #if defined(_RPMSSL_INTERNAL)
34 struct rpmssl_s {
35  int in_fips_mode; /* XXX trsa */
36  int nbits; /* XXX trsa */
37  int qbits; /* XXX trsa */
38  int badok; /* XXX trsa */
39  int err;
40 
41  void * digest;
42  size_t digestlen;
43 
44  BIO * out; /* XXX tecdsa */
45 #if !defined(OPENSSL_NO_ECDSA)
46  EC_builtin_curve * curves; /* XXX tecdsa */
47  size_t ncurves;
48  EC_GROUP * group; /* XXX tecdsa */
49  EC_KEY * ecdsakey_bad; /* XXX tecdsa */
50 #endif
51 
52  /* DSA parameters. */
53  DSA * dsa;
54  DSA_SIG * dsasig;
55 
56  /* RSA parameters. */
57  RSA * rsa;
58 
59  BIGNUM * hm;
60  BIGNUM * c;
61 
62  /* ECDSA parameters. */
63 #if !defined(OPENSSL_NO_ECDSA)
64  int nid;
65  EC_KEY * ecdsakey;
66  ECDSA_SIG * ecdsasig;
67 #endif
68 
69 };
70 #endif
71 
72 /*@unchecked@*/
74 
75 #endif /* H_RPMSSL */