00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
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