00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #include <openssl/rand.h>
00018 #include <openssl/evp.h>
00019 #include <openssl/pem.h>
00020 #include <openssl/bio.h>
00021 #include <openssl/rand.h>
00022 #include <openssl_constants.h>
00023 #include <openssl_pkey.h>
00024 #include <axis2_util.h>
00025 #include <openssl/pkcs12.h>
00026 
00031 #ifndef OPENSSL_PKCS12_H
00032 #define OPENSSL_PKCS12_H
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00043     
00044     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00045     openssl_pkcs12_load(const axutil_env_t *env,
00046                         axis2_char_t *filename,
00047                         PKCS12 **p12);
00048     
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     openssl_pkcs12_load_from_buffer(const axutil_env_t *env,
00051                         axis2_char_t *buffer,
00052                         PKCS12 **p12,
00053                         int len);
00054 
00055     
00056     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00057     openssl_pkcs12_parse(const axutil_env_t *env,
00058                          axis2_char_t *password ,
00059                          PKCS12 *p12,
00060                          EVP_PKEY **prvkey,
00061                          X509 **cert,
00062                          STACK_OF(X509) **ca);
00063 
00064     
00065     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00066     openssl_pkcs12_free(const axutil_env_t *env,
00067                         PKCS12 *p12);
00068 
00069 
00071 #ifdef __cplusplus
00072 }
00073 #endif
00074 
00075 #endif