You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by ka...@apache.org on 2007/10/19 10:26:07 UTC

svn commit: r586320 - in /webservices/rampart/trunk/c/src: omxmlsec/signature.c util/rampart_signature.c

Author: kaushalye
Date: Fri Oct 19 01:26:06 2007
New Revision: 586320

URL: http://svn.apache.org/viewvc?rev=586320&view=rev
Log:
Creating the Security Token Refernce to get key information in derived key signing

Modified:
    webservices/rampart/trunk/c/src/omxmlsec/signature.c
    webservices/rampart/trunk/c/src/util/rampart_signature.c

Modified: webservices/rampart/trunk/c/src/omxmlsec/signature.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/signature.c?rev=586320&r1=586319&r2=586320&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/signature.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/signature.c Fri Oct 19 01:26:06 2007
@@ -54,6 +54,7 @@
         return AXIS2_FAILURE;
     }
 
+    signedlen = oxs_buffer_get_size(signed_result_buf, env);
     /*Base64 encode*/
     encodedlen = axutil_base64_encode_len(signedlen);
     encoded_str = AXIS2_MALLOC(env->allocator, encodedlen);

Modified: webservices/rampart/trunk/c/src/util/rampart_signature.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_signature.c?rev=586320&r1=586319&r2=586320&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_signature.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_signature.c Fri Oct 19 01:26:06 2007
@@ -111,11 +111,21 @@
 {
     axiom_node_t *key_info_node = NULL;
     axiom_node_t *str_node = NULL;
-
+    axiom_node_t *reference_node = NULL;    
+    axis2_char_t *id_ref = NULL;
+    axis2_char_t *key_id = NULL;
+    
     /*Now we must build the Key Info element*/
     key_info_node = oxs_token_build_key_info_element(env, sig_node);
     str_node = oxs_token_build_security_token_reference_element(
                            env, key_info_node);
+    /*Create the reference Id*/
+    key_id = oxs_key_get_name(key, env);
+    id_ref = axutil_stracat(env, "#",key_id);
+    
+    reference_node = oxs_token_build_reference_element(env, str_node,
+                        id_ref, OXS_ENCODING_BASE64BINARY );   
+     
     return AXIS2_SUCCESS;
 }