Author: kaushalye
Date: Mon Nov 19 23:31:21 2007
New Revision: 596557

URL: http://svn.apache.org/viewvc?rev=596557&view=rev
Log:
encrypt_before_signature and sign_before_encrypt bug fixes

Modified:
    webservices/rampart/trunk/c/src/util/rampart_encryption.c
    webservices/rampart/trunk/c/src/util/rampart_signature.c

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=596557&r1=596556&r2=596557&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_encryption.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_encryption.c Mon Nov 19 
23:31:21 2007
@@ -281,8 +281,8 @@
     if(!session_key){
         /*Generate the  session key*/
         session_key = oxs_key_create(env);
-        rampart_context_set_session_key(rampart_context, env, session_key);
         status = oxs_key_for_algo(session_key, env, enc_sym_algo);
+        rampart_context_set_session_key(rampart_context, env, session_key);
     }
  
     id_list = axutil_array_list_create(env, 5);
@@ -866,14 +866,17 @@
 
     axutil_array_list_add(id_list, env, id);
 
-    ref_list_node = oxs_token_build_data_reference_list(
-                     env, encrypted_key_node, id_list);
-    if(!ref_list_node)
-    {
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
-                        "[rampart][rampart_encryption]Encrypting 
signature,Building reference list failed");
-        return AXIS2_FAILURE;
-    }
+       if(!use_derived_keys)
+       {
+               ref_list_node = oxs_token_build_data_reference_list(
+                                                env, encrypted_key_node, 
id_list);
+               if(!ref_list_node)
+               {
+                       AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+                                                       
"[rampart][rampart_encryption]Encrypting signature,Building reference list 
failed");
+                       return AXIS2_FAILURE;
+               }
+       }
 
     if(id_list){
         /*TODO need to free data of the list*/

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=596557&r1=596556&r2=596557&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_signature.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_signature.c Mon Nov 19 
23:31:21 2007
@@ -675,7 +675,7 @@
         encrypted_key_node = oxs_axiom_get_node_by_local_name(env, sec_node,  
OXS_NODE_ENCRYPTED_KEY); 
         if(!encrypted_key_node){
             /*There is no EncryptedKey so generate one*/
-            status = rampart_enc_encrypt_session_key(env, signed_key, msg_ctx, 
rampart_context, soap_envelope, sec_node, NULL );
+            status = rampart_enc_encrypt_session_key(env, session_key, 
msg_ctx, rampart_context, soap_envelope, sec_node, NULL );
             if(AXIS2_FAILURE == status){
                 AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
"[rampart][rampart_signature] Cannot encrypt the session key " );
                 return AXIS2_FAILURE;


Reply via email to