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;
 }


Reply via email to