Author: kaushalye
Date: Fri Nov 23 01:40:54 2007
New Revision: 597615
URL: http://svn.apache.org/viewvc?rev=597615&view=rev
Log:
Free keys used to sign based on its type
Modified:
webservices/rampart/trunk/c/src/omxmlsec/openssl/hmac.c
webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
webservices/rampart/trunk/c/src/util/rampart_signature.c
Modified: webservices/rampart/trunk/c/src/omxmlsec/openssl/hmac.c
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/openssl/hmac.c?rev=597615&r1=597614&r2=597615&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/openssl/hmac.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/openssl/hmac.c Fri Nov 23 01:40:54
2007
@@ -234,7 +234,7 @@
dk_id = (axis2_char_t*)oxs_util_generate_id(env,
(axis2_char_t*)OXS_DERIVED_ID);
dk_name = axutil_stracat(env, "#", dk_id);
- status = status && oxs_key_populate(derived_key, env, (unsigned
char*)(output+offset), dk_name, length, oxs_key_get_usage(secret, env));
+ status = status && oxs_key_populate(derived_key, env, (unsigned
char*)(output+offset), dk_name, length, OXS_KEY_USAGE_DERIVED);
AXIS2_FREE(env->allocator, output);
AXIS2_FREE(env->allocator, dk_id);
AXIS2_FREE(env->allocator, dk_name);
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?rev=597615&r1=597614&r2=597615&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
(original)
+++ webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c Fri Nov
23 01:40:54 2007
@@ -966,7 +966,7 @@
return AXIS2_FAILURE;
}
- if(rampart_context_check_is_derived_keys(env, token))
+ /*if(rampart_context_check_is_derived_keys(env, token))
{
rampart_create_fault_envelope(env,
RAMPART_FAULT_UNSUPPORTED_SECURITY_TOKEN,
"Derived Keys are not supported.",
RAMPART_FAULT_IN_SIGNATURE, msg_ctx);
@@ -974,7 +974,7 @@
"[rampart][shp] Derived Keys are not supported.");
return AXIS2_FAILURE;
- }
+ }*/
is_include_token = rampart_context_is_token_include(
rampart_context, token, token_type, server_side,
AXIS2_TRUE, env);
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=597615&r1=597614&r2=597615&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_signature.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_signature.c Fri Nov 23
01:40:54 2007
@@ -709,12 +709,14 @@
}
/*If we have used derived keys, then we need to free the key in sign_ctx*/
- if(rampart_context_check_is_derived_keys (env, token)){
+ if((RP_PROPERTY_SYMMETRIC_BINDING == binding_type) &&
(rampart_context_check_is_derived_keys (env, token))){
oxs_key_t *sig_ctx_dk = NULL;
sig_ctx_dk = oxs_sign_ctx_get_secret(sign_ctx, env);
- /*oxs_key_free(sig_ctx_dk, env);
- sig_ctx_dk = NULL;*/
+ if(sig_ctx_dk && (OXS_KEY_USAGE_DERIVED ==
oxs_key_get_usage(sig_ctx_dk, env))){
+ oxs_key_free(sig_ctx_dk, env);
+ sig_ctx_dk = NULL;
+ }
}
/*Free sig ctx*/
oxs_sign_ctx_free(sign_ctx, env);