# 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 */