From 6e590359e7240aba7ed4399b9ad9b3670671a074 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 09 May 2016 08:07:06 +0000
Subject: [PATCH] KeyManagers: code cleanup
---
opendj-core/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java | 60 +++++++++++++++++-------------------------------------------
1 files changed, 17 insertions(+), 43 deletions(-)
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java
index 9957447..ae587ba 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java
@@ -14,10 +14,8 @@
* Copyright 2010 Sun Microsystems, Inc.
* Portions copyright 2012-2016 ForgeRock AS.
*/
-
package org.forgerock.opendj.ldap;
-import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.Socket;
@@ -43,7 +41,7 @@
private static final String KEY_STORE_TYPE = "javax.net.ssl.keyStoreType";
private static final String KEY_STORE_FILE = "javax.net.ssl.keyStore";
private static final String KEY_STORE_PASSWORD = "javax.net.ssl.keyStorePassword";
- private static volatile X509KeyManager jvmKeyManager = null;
+ private static volatile X509KeyManager jvmKeyManager;
/**
* This class implements an X.509 key manager that will be used to wrap an
@@ -204,7 +202,7 @@
* file for retrieving certificates. It will use the provided key store
* format and password.
*
- * @param file
+ * @param keyStoreFile
* The key store file name.
* @param password
* The key store password, which may be {@code null}.
@@ -222,40 +220,20 @@
* @throws NullPointerException
* If {@code file} was {@code null}.
*/
- public static X509KeyManager useKeyStoreFile(final String file, final char[] password,
+ public static X509KeyManager useKeyStoreFile(final String keyStoreFile, final char[] password,
final String format, String provider) throws GeneralSecurityException, IOException {
- Reject.ifNull(file);
+ Reject.ifNull(keyStoreFile);
- final File keyStoreFile = new File(file);
final String keyStoreFormat = format != null ? format : KeyStore.getDefaultType();
-
- final KeyStore keyStore;
- if (provider != null) {
- keyStore = KeyStore.getInstance(keyStoreFormat, provider);
- } else {
- keyStore = KeyStore.getInstance(keyStoreFormat);
- }
+ final KeyStore keyStore = provider != null
+ ? KeyStore.getInstance(keyStoreFormat, provider)
+ : KeyStore.getInstance(keyStoreFormat);
try (FileInputStream fis = new FileInputStream(keyStoreFile)) {
keyStore.load(fis, password);
}
- final KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
- kmf.init(keyStore, password);
-
- X509KeyManager x509km = null;
- for (final KeyManager km : kmf.getKeyManagers()) {
- if (km instanceof X509KeyManager) {
- x509km = (X509KeyManager) km;
- break;
- }
- }
-
- if (x509km == null) {
- throw new NoSuchAlgorithmException();
- }
-
- return x509km;
+ return getX509KeyManager(keyStore, password);
}
/**
@@ -277,23 +255,20 @@
throws GeneralSecurityException, IOException {
final KeyStore keyStore = KeyStore.getInstance("PKCS11");
keyStore.load(null, password);
- final KeyManagerFactory kmf =
- KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
+ return getX509KeyManager(keyStore, password);
+ }
+
+ private static X509KeyManager getX509KeyManager(final KeyStore keyStore, final char[] password)
+ throws GeneralSecurityException {
+ final KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(keyStore, password);
- X509KeyManager x509km = null;
for (final KeyManager km : kmf.getKeyManagers()) {
if (km instanceof X509KeyManager) {
- x509km = (X509KeyManager) km;
- break;
+ return (X509KeyManager) km;
}
}
-
- if (x509km == null) {
- throw new NoSuchAlgorithmException();
- }
-
- return x509km;
+ throw new NoSuchAlgorithmException();
}
/**
@@ -346,9 +321,8 @@
return new SelectCertificate(keyManager, alias);
}
- /** Prevent insantiation. */
+ /** Prevent instantiation. */
private KeyManagers() {
// Nothing to do.
}
-
}
--
Gitblit v1.10.0