You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by mi...@apache.org on 2008/04/08 13:23:54 UTC
svn commit: r645856 -
/webservices/rampart/scratch/c/pkcs/c/src/omxmlsec/key_mgr.c
Author: milinda
Date: Tue Apr 8 04:23:53 2008
New Revision: 645856
URL: http://svn.apache.org/viewvc?rev=645856&view=rev
Log:
Adding key store support for retrieving private key.
Modified:
webservices/rampart/scratch/c/pkcs/c/src/omxmlsec/key_mgr.c
Modified: webservices/rampart/scratch/c/pkcs/c/src/omxmlsec/key_mgr.c
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/pkcs/c/src/omxmlsec/key_mgr.c?rev=645856&r1=645855&r2=645856&view=diff
==============================================================================
--- webservices/rampart/scratch/c/pkcs/c/src/omxmlsec/key_mgr.c (original)
+++ webservices/rampart/scratch/c/pkcs/c/src/omxmlsec/key_mgr.c Tue Apr 8 04:23:53 2008
@@ -239,45 +239,34 @@
else
{ /*Buffer is null load from the file*/
prv_key_file = axutil_strdup(env, oxs_key_mgr_get_private_key_file(key_mgr, env));
- if(!prv_key_file)
- {
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "[oxs][key_mgr]Private Key file is not specified.");
- return NULL;
- }
-
+
/*Get the password to retrieve the key from key store*/
password = axutil_strdup(env, oxs_key_mgr_get_prv_key_password(key_mgr, env));
- if(oxs_util_get_format_by_file_extension(env, prv_key_file) ==
- OXS_ASYM_CTX_FORMAT_PKCS12)
- {
- oxs_x509_cert_t *c = NULL;
- if((oxs_key_mgr_read_pkcs12_key_store(env, prv_key_file,
- password, &c, &prvkey)==AXIS2_FAILURE) || !prvkey)
- {
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "[rampart][rampart_signature] Cannot load the private key from pfx file.");
- return NULL;
- }
- }
- else if(oxs_util_get_format_by_file_extension(env, prv_key_file)
- ==OXS_ASYM_CTX_FORMAT_PEM)
+ if(prv_key_file)
{
- prvkey = oxs_key_mgr_load_private_key_from_pem_file(
- env, prv_key_file, password);
- if(!prvkey)
- {
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "[rampart][rampart_signature] Cannot load the private key from file.");
- return NULL;
- }
+ if(oxs_util_get_format_by_file_extension(env, prv_key_file)
+ ==OXS_ASYM_CTX_FORMAT_PEM)
+ {
+ prvkey = oxs_key_mgr_load_private_key_from_pem_file(
+ env, prv_key_file, password);
+ if(!prvkey)
+ {
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][key_mgr] Cannot load the private key from file.");
+ return NULL;
+ }
+ }
}
else
{
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "[rampart][rampart_signature] Unknown Private key format.");
- return NULL;
+ prvkey = pkcs12_keystore_get_owner_private_key(key_mgr->key_store, env);
+ if(!prvkey)
+ {
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][key_mgr] Cannot load the private key from pkcs12 key store.");
+ return NULL;
+ }
}
}
return prvkey;