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;