Fix c_rehash script, add -fingerprint option to crl.
[openssl.git] / crypto / x509 / x509.h
index 57f9bab0fbcc599dd4e785582c2e60f9101718b8..a0aaad8366a49d0b1306ff56857e71375d177588 100644 (file)
@@ -92,6 +92,28 @@ extern "C" {
 #undef X509_NAME
 #endif
 
+  /* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */
+#define DECLARE_PKCS12_STACK_OF(type) \
+STACK_OF(type) *PKCS12_decrypt_d2i_##type(struct X509_algor_st *algor, \
+                                         type *(*d2i)(type **, \
+                                                      unsigned char **, \
+                                                      long), \
+                                         void (*free_func)(type *), \
+                                         const char *pass, int passlen, \
+                                         ASN1_STRING *oct, int seq);
+
+#define IMPLEMENT_PKCS12_STACK_OF(type) \
+STACK_OF(type) *PKCS12_decrypt_d2i_##type(struct X509_algor_st *algor, \
+                                         type *(*d2i)(type **, \
+                                                      unsigned char **, \
+                                                      long), \
+                                         void (*free_func)(type *), \
+                                         const char *pass, int passlen, \
+                                         ASN1_STRING *oct, int seq) \
+    { return (STACK_OF(type) *)PKCS12_decrypt_d2i(algor,(char *(*)())d2i, \
+                                                 (void(*)(void *))free_func, \
+                                                 pass,passlen,oct,seq); }
+
 #define X509_FILETYPE_PEM      1
 #define X509_FILETYPE_ASN1     2
 #define X509_FILETYPE_DEFAULT  3
@@ -638,6 +660,8 @@ int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md);
 int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md);
 
 int X509_digest(X509 *data,const EVP_MD *type,unsigned char *md,unsigned int *len);
+int X509_CRL_digest(X509_CRL *data,const EVP_MD *type,unsigned char *md,unsigned int *len);
+int X509_REQ_digest(X509_REQ *data,const EVP_MD *type,unsigned char *md,unsigned int *len);
 int X509_NAME_digest(X509_NAME *data,const EVP_MD *type,
        unsigned char *md,unsigned int *len);
 #endif