openssl_pkcs12_keystore.h

Go to the documentation of this file.
00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
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 #include <openssl/rsa.h>
00027 #include <openssl/x509.h>
00028 #include <openssl_pkcs12.h>
00029 #include <oxs_error.h>
00030 #include <oxs_x509_cert.h>
00031 #include <openssl_pkey.h>
00032 #include <openssl_x509.h>
00033 
00034 
00039 #ifndef OPENSSL_PKCS12_KEYSTORE_H
00040 #define OPENSSL_PKCS12_KEYSTORE_H
00041 
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045     
00046     typedef struct pkcs12_keystore pkcs12_keystore_t;
00047     
00048     AXIS2_EXTERN pkcs12_keystore_t * AXIS2_CALL pkcs12_keystore_create(
00049         const axutil_env_t *env, 
00050         axis2_char_t *filename, 
00051         axis2_char_t *password);
00052     
00053     axutil_array_list_t * AXIS2_CALL pkcs12_keystore_populate_cert_array(
00054         const axutil_env_t *env,
00055         STACK_OF(X509) *other_certs);
00056     
00057     oxs_x509_cert_t * AXIS2_CALL pkcs12_keystore_populate_oxs_cert(
00058         const axutil_env_t *env, 
00059         X509 *cert_in);
00060     
00061     AXIS2_EXTERN openssl_pkey_t * AXIS2_CALL pkcs12_keystore_get_owner_private_key(
00062         pkcs12_keystore_t *keystore,
00063         const axutil_env_t *env);
00064     
00065     AXIS2_EXTERN oxs_x509_cert_t * AXIS2_CALL pkcs12_keystore_get_owner_certificate(
00066         pkcs12_keystore_t *keystore, 
00067         const axutil_env_t *env);
00068     
00069     AXIS2_EXTERN oxs_x509_cert_t * AXIS2_CALL pkcs12_keystore_get_certificate_for_issuer_serial(
00070         pkcs12_keystore_t *keystore,
00071         const axutil_env_t *env,
00072         axis2_char_t *issuer,
00073         int serial_number);
00074     
00075     AXIS2_EXTERN oxs_x509_cert_t * AXIS2_CALL pkcs12_keystore_get_certificate_for_thumbprint(
00076         pkcs12_keystore_t *keystore, 
00077         const axutil_env_t *env, 
00078         axis2_char_t *thumbprint);
00079     
00080     AXIS2_EXTERN oxs_x509_cert_t * AXIS2_CALL pkcs12_keystore_get_certificate_for_subject_key_id(
00081         pkcs12_keystore_t *keystore,
00082         const axutil_env_t *env,
00083         axis2_char_t *ski);
00084 
00085     AXIS2_EXTERN oxs_x509_cert_t * AXIS2_CALL 
00086     pkcs12_keystore_get_other_certificate(
00087         pkcs12_keystore_t *keystore,
00088         const axutil_env_t *env);
00089      
00090     AXIS2_EXTERN pkcs12_keystore_t * AXIS2_CALL
00091     pkcs12_keystore_create_from_buffer(
00092         const axutil_env_t *env,
00093         axis2_char_t *buffer,
00094         axis2_char_t *password,
00095         int len);
00096 
00097     
00098         
00099 #ifdef __cplusplus
00100 }
00101 #endif
00102 
00103 #endif    /* OPENSSL_PKCS12_KEYSTORE_H */

Generated on Wed Oct 14 01:02:15 2009 for Rampart/C by  doxygen 1.5.7.1