Author: manjula
Date: Sun Jun 17 21:17:24 2007
New Revision: 548204
URL: http://svn.apache.org/viewvc?view=rev&rev=548204
Log:
Completing encrypt signature scenario for both sign before encryption and
encrypt before sign.
Modified:
webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
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?view=diff&rev=548204&r1=548203&r2=548204
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
(original)
+++ webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c Sun Jun
17 21:17:24 2007
@@ -483,7 +483,7 @@
id = (axis2_char_t*)axutil_array_list_get(reference_list, env, i);
- id2 = axutil_string_substring_starting_at(id, 1);
+ id2 = axutil_string_substring_starting_at(axutil_strdup(env, id), 1);
envelope_node = axiom_soap_envelope_get_base_node(soap_envelope, env);
@@ -527,21 +527,12 @@
encrypted_key_node = oxs_axiom_get_node_by_id(env,
sec_node, "wsu:Id", ref_id);
if(encrypted_key_node)
{
- axiom_node_t *child_node = NULL;
ref_list_node = axiom_node_detach(ref_list_node,
env);
- child_node =
axiom_node_get_first_child(encrypted_key_node, env);
+ axiom_node_add_child(encrypted_key_node, env,
ref_list_node);
- if(child_node)
- {
- status =
axiom_node_insert_sibling_before(child_node, env, ref_list_node);
- if(status != AXIS2_SUCCESS)
- {
- return status;
- }
- status =
rampart_shp_process_encrypted_key(env, msg_ctx, rampart_context,
- soap_envelope,
sec_node, encrypted_key_node);
- break;
- }
+ status = rampart_shp_process_encrypted_key(env,
msg_ctx, rampart_context,
+ soap_envelope,
sec_node, encrypted_key_node);
+ break;
}
}
}
@@ -557,12 +548,13 @@
static axis2_status_t
-rampart_shp_process_signature(const axutil_env_t *env,
- axis2_msg_ctx_t *msg_ctx,
- rampart_context_t *rampart_context,
- axiom_soap_envelope_t *soap_envelope,
- axiom_node_t *sec_node,
- axiom_node_t *sig_node)
+rampart_shp_process_signature(
+ const axutil_env_t *env,
+ axis2_msg_ctx_t *msg_ctx,
+ rampart_context_t *rampart_context,
+ axiom_soap_envelope_t *soap_envelope,
+ axiom_node_t *sec_node,
+ axiom_node_t *sig_node)
{
oxs_sign_ctx_t *sign_ctx = NULL;