rpm 5.3.12
rpmio/rpmssl.h
Go to the documentation of this file.
00001 #ifndef H_RPMSSL
00002 #define H_RPMSSL
00003 
00008 #include <rpmiotypes.h>
00009 #include <rpmpgp.h>
00010 #include <rpmsw.h>
00011 
00012 /* Implementation specific includes. */
00013 #if defined(_RPMSSL_INTERNAL)
00014 
00015 #include <openssl/opensslconf.h>
00016 #if defined(OPENSSL_NO_EC) && !defined(OPENSSL_NO_ECDSA)
00017 #define OPENSSL_NO_ECDSA
00018 #endif
00019 
00020 #include <openssl/bn.h>
00021 #include <openssl/dsa.h>
00022 #include <openssl/rsa.h>
00023 #include <openssl/engine.h>
00024 #endif
00025 
00028 typedef /*abstract@*/ struct rpmssl_s * rpmssl;
00029 
00033 #if defined(_RPMSSL_INTERNAL)
00034 struct rpmssl_s {
00035     int in_fips_mode;   /* XXX trsa */
00036     int nbits;          /* XXX trsa */
00037     int qbits;          /* XXX trsa */
00038     int badok;          /* XXX trsa */
00039     int err;
00040 
00041     void * digest;
00042     size_t digestlen;
00043 
00044     BIO * out;                  /* XXX tecdsa */
00045 #if !defined(OPENSSL_NO_ECDSA)
00046     EC_builtin_curve * curves;  /* XXX tecdsa */
00047     size_t ncurves;
00048     EC_GROUP * group;           /* XXX tecdsa */
00049     EC_KEY * ecdsakey_bad;      /* XXX tecdsa */
00050 #endif
00051 
00052     /* DSA parameters. */
00053     DSA * dsa;
00054     DSA_SIG * dsasig;
00055 
00056     /* RSA parameters. */
00057     RSA * rsa;
00058 
00059     BIGNUM * hm;
00060     BIGNUM * c;
00061 
00062     /* ECDSA parameters. */
00063 #if !defined(OPENSSL_NO_ECDSA)
00064     int nid;
00065     EC_KEY * ecdsakey;
00066     ECDSA_SIG * ecdsasig;
00067 #endif
00068 
00069 };
00070 #endif
00071 
00072 /*@unchecked@*/
00073 extern pgpImplVecs_t rpmsslImplVecs;
00074 
00075 #endif  /* H_RPMSSL */