# openssl_pkcs12.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
    00031 #ifndef OPENSSL_PKCS12_H
    00032 #define OPENSSL_PKCS12_H
    00033
    00034 #ifdef __cplusplus
    00035 extern "C" {
    00036 #endif
    00037
    00043     /*Load*/
    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     /*Parse*/
    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     /*Free*/
    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    /* OPENSSL_PKCS12_H */