keycloak-memoizeit

Merge pull request #844 from Monezz/master KEYCLOAK-829

11/6/2014 8:39:37 PM

Details

diff --git a/core/src/main/java/org/keycloak/util/KeystoreUtil.java b/core/src/main/java/org/keycloak/util/KeystoreUtil.java
index 76e0f1d..6c715a2 100755
--- a/core/src/main/java/org/keycloak/util/KeystoreUtil.java
+++ b/core/src/main/java/org/keycloak/util/KeystoreUtil.java
@@ -2,6 +2,7 @@ package org.keycloak.util;
 
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.InputStream;
 import java.security.KeyStore;
 
 /**
@@ -9,14 +10,16 @@ import java.security.KeyStore;
  * @version $Revision: 1 $
  */
 public class KeystoreUtil {
+
+    private static final String PROTOCOL_CLASSPATH = "classpath:";
+
     public static KeyStore loadKeyStore(String filename, String password) throws Exception {
-        KeyStore trustStore = KeyStore.getInstance(KeyStore
-                .getDefaultType());
-        File truststoreFile = new File(filename);
-        FileInputStream trustStream = new FileInputStream(truststoreFile);
+        KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
+        InputStream trustStream = (filename.startsWith(PROTOCOL_CLASSPATH))
+                ?KeystoreUtil.class.getResourceAsStream(filename.replace(PROTOCOL_CLASSPATH, ""))
+                :new FileInputStream(new File(filename));
         trustStore.load(trustStream, password.toCharArray());
         trustStream.close();
         return trustStore;
     }
-
 }