Author: kaushalye
Date: Fri Oct 26 05:24:06 2007
New Revision: 588622

URL: http://svn.apache.org/viewvc?rev=588622&view=rev
Log:
Free derrived key list after processing.


Modified:
    webservices/rampart/trunk/c/include/oxs_constants.h
    webservices/rampart/trunk/c/src/omxmlsec/derivation.c
    webservices/rampart/trunk/c/src/omxmlsec/utility.c
    webservices/rampart/trunk/c/src/util/rampart_encryption.c
    webservices/rampart/trunk/c/src/util/rampart_sec_header_builder.c

Modified: webservices/rampart/trunk/c/include/oxs_constants.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_constants.h?rev=588622&r1=588621&r2=588622&view=diff
==============================================================================
--- webservices/rampart/trunk/c/include/oxs_constants.h (original)
+++ webservices/rampart/trunk/c/include/oxs_constants.h Fri Oct 26 05:24:06 2007
@@ -64,7 +64,7 @@
 #define OXS_SIG_ID "SigID"
 #define OXS_CERT_ID "CertID"
 #define OXS_EMBEDDED_ID "EmbeddedID"
-#define OXS_DERIVED_ID "DerivedID"
+#define OXS_DERIVED_ID "DKID"
 
     /****************************************************************
        Global namespaces 

Modified: webservices/rampart/trunk/c/src/omxmlsec/derivation.c
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/derivation.c?rev=588622&r1=588621&r2=588622&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/derivation.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/derivation.c Fri Oct 26 05:24:06 
2007
@@ -44,6 +44,8 @@
     int offset = -1;
     int length = 0; 
 
+    dk_id = oxs_key_get_name(derived_key, env);
+
     dk_token = oxs_token_build_derived_key_token_element(env, parent, dk_id, 
NULL);
     str_token = oxs_token_build_security_token_reference_element(env, 
dk_token); 
     ref_token = oxs_token_build_reference_element(env, dk_token, stref_uri, 
stref_val_type);

Modified: webservices/rampart/trunk/c/src/omxmlsec/utility.c
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/utility.c?rev=588622&r1=588621&r2=588622&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/utility.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/utility.c Fri Oct 26 05:24:06 2007
@@ -56,8 +56,8 @@
        axis2_char_t *uuid = NULL;
 
        uuid = axutil_uuid_gen(env);
-    random =  axutil_strndup(env, uuid,18);
-    sprintf(_id, "%s-%s",prefix,random);
+    random =  axutil_strndup(env, uuid, 18);
+    sprintf(_id, "%s-%s", prefix, random);
     id = (axis2_char_t*)axutil_strdup(env, _id);
        AXIS2_FREE(env->allocator, uuid);
     AXIS2_FREE(env->allocator, random);

Modified: webservices/rampart/trunk/c/src/util/rampart_encryption.c
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_encryption.c?rev=588622&r1=588621&r2=588622&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_encryption.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_encryption.c Fri Oct 26 
05:24:06 2007
@@ -410,12 +410,20 @@
         
         dk = (oxs_key_t *)axutil_array_list_get(dk_list, env, j);
         
-        /*TODO build the <wsc:DerivedKeyToken> element*/
+        /*Build the <wsc:DerivedKeyToken> element*/
         if(dk){
             oxs_derivation_build_derived_key_token(env, dk, sec_node, 
OXS_WSS_11_VALUE_TYPE_ENCRYPTED_KEY, asym_key_id);
         }
+        /*Do we need derived keys? Can we free 'em here?*/
+        oxs_key_free(dk, env);
+        dk = NULL;
+    
     }/*End of For loop of dk_list iteration*/
-
+    
+    /*Free derrived key list*/
+    axutil_array_list_free(dk_list, env);
+    dk_list = NULL;
+ 
     /*Add ReferenceList element to the Security header*/
     status = oxs_token_build_data_reference_list(env, sec_node, id_list);
 

Modified: webservices/rampart/trunk/c/src/util/rampart_sec_header_builder.c
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_sec_header_builder.c?rev=588622&r1=588621&r2=588622&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_sec_header_builder.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_sec_header_builder.c Fri Oct 
26 05:24:06 2007
@@ -46,16 +46,13 @@
     axis2_status_t status = AXIS2_FAILURE;
     axis2_bool_t is_encrypt_before_sign = AXIS2_FALSE;
 
-    /*TODO Symmetric binding*/
 
     if(rampart_context_is_include_timestamp(rampart_context,env))
     {
         int ttl = -1;
-        AXIS2_LOG_INFO(env->log, "[rampart][shb] Sym binding, building 
Timestamp Token");
-        AXIS2_LOG_INFO(env->log, "[rampart][shb] Sym binding, Using default 
timeToLive value %d",
-                       RAMPART_TIMESTAMP_TOKEN_DEFAULT_TIME_TO_LIVE);
         /*ttl = RAMPART_TIMESTAMP_TOKEN_DEFAULT_TIME_TO_LIVE;*/
         ttl = rampart_context_get_ttl(rampart_context,env);
+        AXIS2_LOG_INFO(env->log, "[rampart][shb] Sym binding, building 
Timestamp Token using  timeToLive value %d", ttl);
 
         status = rampart_timestamp_token_build(env,
                                                sec_node, sec_ns_obj, ttl);
@@ -117,6 +114,13 @@
                 return AXIS2_FAILURE;
         }
         /*3. Encrypt signature*/
+        status = rampart_enc_encrypt_signature(env, msg_ctx, rampart_context, 
soap_envelope, sec_node);
+        if(status != AXIS2_SUCCESS)
+        {
+             AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[rampart][shb] Encrypt 
signature failed. ERROR");
+                    return AXIS2_FAILURE;
+        }
+ 
         
     }else{ /*Sign before encrypt*/
         is_encrypt_before_sign = AXIS2_FALSE;
@@ -298,7 +302,6 @@
                 }
 
                 /*Then encrypt the signature */
-                printf("\n>>>>> We need to encrypt signature with derived 
keys\n");
                 status = rampart_enc_encrypt_signature(env, msg_ctx, 
rampart_context, soap_envelope, sec_node);
                 if(status != AXIS2_SUCCESS)
                 {


Reply via email to