Author: kaushalye Date: Mon Nov 12 06:42:11 2007 New Revision: 594161 URL: http://svn.apache.org/viewvc?rev=594161&view=rev Log: Adding signature value and verification status for security processed results. This is reqd for the signature confirmation support
Modified: webservices/rampart/trunk/c/include/rampart_constants.h webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c Modified: webservices/rampart/trunk/c/include/rampart_constants.h URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/rampart_constants.h?rev=594161&r1=594160&r2=594161&view=diff ============================================================================== --- webservices/rampart/trunk/c/include/rampart_constants.h (original) +++ webservices/rampart/trunk/c/include/rampart_constants.h Mon Nov 12 06:42:11 2007 @@ -129,6 +129,8 @@ #define RAMPART_SPR_UT_CHECKED "SPR_UT_Checked" #define RAMPART_SPR_TS_CHECKED "SPR_TS_Checked" #define RAMPART_SPR_ENC_CHECKED "SPR_ENC_Checked" +#define RAMPART_SPR_SIG_VALUE "SPR_Sig_Val" +#define RAMPART_SPR_SIG_VERIFIED "SPR_Sig_Verified" #define RAMPART_YES "YES" #define RAMPART_NO "NO" Modified: webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c?rev=594161&r1=594160&r2=594161&view=diff ============================================================================== --- webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c (original) +++ webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c Mon Nov 12 06:42:11 2007 @@ -603,7 +603,7 @@ axis2_char_t *c14n_mtd = NULL; axis2_char_t *content = NULL; axis2_char_t *signature_val = NULL; - axis2_char_t *signed_info_node_value = NULL; + axis2_char_t *signed_info_node_value = NULL; /*Set operation to verify*/ oxs_sign_ctx_set_operation(sign_ctx, env, OXS_SIGN_OPERATION_VERIFY); @@ -643,10 +643,10 @@ c14n_mtd = oxs_sign_ctx_get_c14n_mtd(sign_ctx, env); doc = axiom_node_get_document(signed_info_node, env); - signed_info_node_value = axiom_node_to_string(signed_info_node, env); + signed_info_node_value = axiom_node_to_string(signed_info_node, env); AXIS2_LOG_INFO(env->log, "[oxs][xml_sig] C14N (verif1)= %s ", signed_info_node_value ); - AXIS2_FREE(env->allocator, signed_info_node_value); - signed_info_node_value = NULL; + AXIS2_FREE(env->allocator, signed_info_node_value); + signed_info_node_value = NULL; /* oxs_c14n_apply(env, doc, AXIS2_FALSE, &content, AXIS2_TRUE, NULL, signed_info_node);*/ oxs_c14n_apply_algo(env, doc, &content, NULL, signed_info_node, c14n_mtd); Modified: webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c?rev=594161&r1=594160&r2=594161&view=diff ============================================================================== --- webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c (original) +++ webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c Mon Nov 12 06:42:11 2007 @@ -838,7 +838,7 @@ return AXIS2_FAILURE; } - + /*TODO Free Sign Ctx*/ return status; } @@ -1239,6 +1239,19 @@ }else{ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[rampart][shp] Binding type not supported"); /*Not supported*/ + } + /*We need to set the Signature Value in the Security Processed Resultsi. This is required for the Signature Confirmation support*/ + if(AXIS2_SUCCESS == status){ + axis2_char_t *sig_val = NULL; + axiom_node_t *sig_val_node = NULL; + + sig_val_node = oxs_axiom_get_first_child_node_by_name(env, sig_node, OXS_NODE_SIGNATURE_VALUE, OXS_DSIG_NS, OXS_DS ); + sig_val = oxs_token_get_signature_value(env, sig_val_node); + + rampart_set_security_processed_result(env, msg_ctx, RAMPART_SPR_SIG_VERIFIED, RAMPART_YES); + rampart_set_security_processed_result(env, msg_ctx, RAMPART_SPR_SIG_VALUE, sig_val); + }else{ + rampart_set_security_processed_result(env, msg_ctx, RAMPART_SPR_SIG_VERIFIED, RAMPART_NO); } return status; }