You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/03/17 20:35:22 UTC

svn commit: r1301982 - /karaf/branches/karaf-2.2.x/jaas/config/src/main/java/org/apache/karaf/jaas/config/impl/OsgiKeystoreManager.java

Author: jbonofre
Date: Sat Mar 17 19:35:21 2012
New Revision: 1301982

URL: http://svn.apache.org/viewvc?rev=1301982&view=rev
Log:
[KARAF-1220] Avoid to spin the keystore lookup and raise a GenericSecurityException

Modified:
    karaf/branches/karaf-2.2.x/jaas/config/src/main/java/org/apache/karaf/jaas/config/impl/OsgiKeystoreManager.java

Modified: karaf/branches/karaf-2.2.x/jaas/config/src/main/java/org/apache/karaf/jaas/config/impl/OsgiKeystoreManager.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/jaas/config/src/main/java/org/apache/karaf/jaas/config/impl/OsgiKeystoreManager.java?rev=1301982&r1=1301981&r2=1301982&view=diff
==============================================================================
--- karaf/branches/karaf-2.2.x/jaas/config/src/main/java/org/apache/karaf/jaas/config/impl/OsgiKeystoreManager.java (original)
+++ karaf/branches/karaf-2.2.x/jaas/config/src/main/java/org/apache/karaf/jaas/config/impl/OsgiKeystoreManager.java Sat Mar 17 19:35:21 2012
@@ -67,7 +67,9 @@ public class OsgiKeystoreManager impleme
 
     public SSLContext createSSLContext(String provider, String protocol, String algorithm, String keyStore, String keyAlias, String trustStore, long timeout) throws GeneralSecurityException {
 
-        this.checkForKeystoresAvailability(keyStore, keyAlias, trustStore, timeout);
+        if (!this.checkForKeystoresAvailability(keyStore, keyAlias, trustStore, timeout)) {
+            throw new GeneralSecurityException("Unable to lookup configured keystore and/or truststore");
+        }
 
         KeystoreInstance keyInstance = getKeystore(keyStore);
         if (keyInstance != null && keyInstance.isKeystoreLocked()) {
@@ -125,7 +127,8 @@ public class OsgiKeystoreManager impleme
      * @param trustStore
      * @param timeout
      */
-    private void checkForKeystoresAvailability(  String keyStore, String keyAlias, String trustStore, long timeout ) {
+    private boolean checkForKeystoresAvailability(  String keyStore, String keyAlias, String trustStore, long timeout ) {
+        boolean found = false;
         for (int i = 0 ; i < timeout/1000; ++i) {
             KeystoreInstance keyInstance = getKeystore(keyStore);
             if (keyInstance == null || (keyInstance != null && keyInstance.isKeystoreLocked())) {
@@ -146,7 +149,11 @@ public class OsgiKeystoreManager impleme
                 continue;
             }
 
+            found = true;
+            break;
         }
+
+        return found;
     }
 
 }