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;