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