Merge pull request #4864 from patriot1burke/master

KEYCLOAK-4427
This commit is contained in:
Bill Burke 2017-12-15 11:44:16 -05:00 committed by GitHub
commit 90b5dd60fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -43,9 +43,21 @@ public class KeystoreUtil {
public static KeyStore loadKeyStore(String filename, String password) throws Exception {
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
InputStream trustStream = (filename.startsWith(GenericConstants.PROTOCOL_CLASSPATH))
?KeystoreUtil.class.getResourceAsStream(filename.replace(GenericConstants.PROTOCOL_CLASSPATH, ""))
:new FileInputStream(new File(filename));
InputStream trustStream = null;
if (filename.startsWith(GenericConstants.PROTOCOL_CLASSPATH)) {
String resourcePath = filename.replace(GenericConstants.PROTOCOL_CLASSPATH, "");
if (Thread.currentThread().getContextClassLoader() != null) {
trustStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath);
}
if (trustStream == null) {
trustStream = KeystoreUtil.class.getResourceAsStream(resourcePath);
}
if (trustStream == null) {
throw new RuntimeException("Unable to find key store in classpath");
}
} else {
trustStream = new FileInputStream(new File(filename));
}
trustStore.load(trustStream, password.toCharArray());
trustStream.close();
return trustStore;