00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef OXS_XML_ENCRYPTION_H
00019 #define OXS_XML_ENCRYPTION_H
00020
00021
00027 #include <axis2_defines.h>
00028 #include <oxs_ctx.h>
00029 #include <axis2_env.h>
00030 #include <axiom_node.h>
00031 #include <axiom_element.h>
00032 #include <axis2_qname.h>
00033
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038
00039 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00040 oxs_xml_enc_encrypt_node(const axis2_env_t *env,
00041 oxs_ctx_t * enc_ctx,
00042 axiom_node_t *node,
00043 axiom_node_t **enc_type_node);
00044
00045 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00046 oxs_xml_enc_decrypt_node(const axis2_env_t *env,
00047 oxs_ctx_t * enc_ctx,
00048 axiom_node_t *enc_type_node,
00049 axiom_node_t **decrypted_node);
00050
00051 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052 oxs_xml_enc_encrypt_data(const axis2_env_t *env,
00053 oxs_ctx_t * enc_ctx,
00054 oxs_buffer_t *content_buf,
00055 axiom_node_t **enc_type_node);
00056
00057 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00058 oxs_xml_enc_decrypt_data(const axis2_env_t *env,
00059 oxs_ctx_t * enc_ctx,
00060 axiom_node_t *enc_type_node,
00061 oxs_buffer_t *result_buf);
00062
00063 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00064 oxs_xml_enc_encrypt_key(const axis2_env_t *env,
00065 oxs_asym_ctx_t * asym_ctx,
00066 axiom_node_t *parent,
00067 oxs_key_t *sym_key,
00068 axis2_array_list_t *id_list);
00069
00070 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071 oxs_xml_enc_decrypt_key(const axis2_env_t *env,
00072 oxs_asym_ctx_t * asym_ctx,
00073 axiom_node_t *parent,
00074 axiom_node_t *encrypted_key_node,
00075 oxs_key_t *key);
00077 #ifdef __cplusplus
00078 }
00079 #endif
00080
00081 #endif