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)
{