00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef OXS_XML_SIGNATURE_H
00019 #define OXS_XML_SIGNATURE_H
00020 
00021 
00031 #include <axis2_defines.h>
00032 #include <oxs_ctx.h>
00033 #include <axutil_env.h>
00034 #include <axiom_node.h>
00035 #include <axiom_element.h>
00036 #include <axutil_qname.h>
00037 #include <oxs_sign_ctx.h>
00038 #include <oxs_sign_part.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 
00052     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00053     oxs_xml_sig_sign(const axutil_env_t *env,
00054                      oxs_sign_ctx_t *sign_ctx,
00055                      axiom_node_t *parent,
00056                      axiom_node_t **sig_node);
00057 
00066     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00067     oxs_xml_sig_verify(const axutil_env_t *env,
00068                        oxs_sign_ctx_t *sign_ctx,
00069                        axiom_node_t *signature_node,
00070                        axiom_node_t *scope_node);
00071 
00079     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00080     oxs_xml_sig_verify_sign_part(const axutil_env_t *env,
00081                                  oxs_sign_part_t *sign_part);
00082 
00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00090     oxs_xml_sig_verify_digests(const axutil_env_t *env,
00091                                oxs_sign_ctx_t *sign_ctx);
00092 
00093 
00102     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00103     oxs_xml_sig_process_ref_node(const axutil_env_t *env,
00104                                  oxs_sign_part_t *sign_part,
00105                                  axiom_node_t *ref_node,
00106                                  axiom_node_t *scope_node);
00107 
00116     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00117     oxs_xml_sig_process_signature_node(const axutil_env_t *env,
00118                                        oxs_sign_ctx_t *sign_ctx,
00119                                        axiom_node_t *signature_node,
00120                                        axiom_node_t *scope_node);
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125 
00126 #endif