# openssl_cipher_ctx.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 #include <axis2_defines.h>
    00017 #include <axutil_env.h>
    00018 #include <openssl/evp.h>
    00019 #include <oxs_key.h>
    00024 #ifndef OPENSSL_CIPHER_CTX_H
    00025 #define OPENSSL_CIPHER_CTX_H
    00026
    00035 #ifdef __cplusplus
    00036 extern "C" {
    00037 #endif
    00038
    00040     typedef struct openssl_cipher_ctx_t openssl_cipher_ctx_t;
    00041
    00048     axis2_status_t AXIS2_CALL
    00049     openssl_cipher_ctx_free(
    00050         openssl_cipher_ctx_t *ctx,
    00051         const axutil_env_t *env);
    00058     const EVP_CIPHER* AXIS2_CALL
    00059     openssl_cipher_ctx_get_cipher(
    00060         openssl_cipher_ctx_t *ctx,
    00061         const axutil_env_t *env);
    00068     oxs_key_t *AXIS2_CALL
    00069     openssl_cipher_ctx_get_key(
    00070         openssl_cipher_ctx_t *ctx,
    00071         const axutil_env_t *env);
    00078     axis2_char_t *AXIS2_CALL
    00079     openssl_cipher_ctx_get_iv(
    00080         openssl_cipher_ctx_t *ctx,
    00081         const axutil_env_t *env);
    00088     axis2_char_t *AXIS2_CALL
    00089     openssl_cipher_ctx_get_pad(
    00090         openssl_cipher_ctx_t *ctx,
    00091         const axutil_env_t *env);
    00092
    00100     axis2_status_t AXIS2_CALL
    00101     openssl_cipher_ctx_set_cipher(
    00102         openssl_cipher_ctx_t *ctx,
    00103         const axutil_env_t *env,
    00104         const EVP_CIPHER*);
    00105
    00113     axis2_status_t AXIS2_CALL
    00114     openssl_cipher_ctx_set_key(
    00115         openssl_cipher_ctx_t *ctx,
    00116         const axutil_env_t *env,
    00117         oxs_key_t *key);
    00118
    00126     axis2_status_t AXIS2_CALL
    00127     openssl_cipher_ctx_set_iv(
    00128         openssl_cipher_ctx_t *ctx,
    00129         const axutil_env_t *env,
    00130         axis2_char_t *iv);
    00131
    00139     axis2_status_t AXIS2_CALL
    00140     openssl_cipher_ctx_set_pad(
    00141         openssl_cipher_ctx_t *ctx,
    00142         const axutil_env_t *env,
    00143         axis2_char_t *pad);
    00144
    00145
    00151     AXIS2_EXTERN openssl_cipher_ctx_t *AXIS2_CALL
    00152     openssl_cipher_ctx_create(const axutil_env_t *env);
    00153
    00154     /* @} */
    00155 #ifdef __cplusplus
    00156 }
    00157 #endif
    00158
    00159 #endif    /* OPENSSL_CIPHER_CTX_H */