Package nl.altindag.ssl.util
Class KeyManagerUtils
- java.lang.Object
-
- nl.altindag.ssl.util.KeyManagerUtils
-
public final class KeyManagerUtils extends Object
- Author:
- Hakan Altindag
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
KeyManagerUtils.KeyManagerBuilder
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String... hosts)
static X509ExtendedKeyManager
combine(List<? extends X509KeyManager> keyManagers)
static X509ExtendedKeyManager
combine(X509KeyManager... keyManagers)
static X509ExtendedKeyManager
createDummyKeyManager()
static X509ExtendedKeyManager
createKeyManager(String alias, PrivateKey privateKey, Certificate[] certificatesChain)
static X509ExtendedKeyManager
createKeyManager(KeyStore keyStore, char[] keyPassword)
static X509ExtendedKeyManager
createKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm)
static X509ExtendedKeyManager
createKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm, String securityProviderName)
static X509ExtendedKeyManager
createKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm, Provider securityProvider)
static X509ExtendedKeyManager
createKeyManager(KeyStore keyStore, char[] keyPassword, KeyManagerFactory keyManagerFactory)
static X509ExtendedKeyManager
createKeyManager(KeyStore keyStore, Map<String,char[]> aliasToPassword)
static X509ExtendedKeyManager
createKeyManager(PrivateKey privateKey, Certificate[] certificatesChain)
static X509ExtendedKeyManager
createKeyManager(KeyStoreHolder... keyStoreHolders)
static KeyManagerFactory
createKeyManagerFactory(KeyManager keyManager)
static X509ExtendedKeyManager
createLoggingKeyManager(X509KeyManager keyManager)
static X509ExtendedKeyManager
createSwappableKeyManager(X509KeyManager keyManager)
Wraps the given KeyManager into an instance of a Hot Swappable KeyManager This type of KeyManager has the capability of swapping in and out different KeyManagers at runtime.static Map<String,List<String>>
getIdentityRoute(X509ExtendedKeyManager keyManager)
static <T extends KeyManagerFactory>
X509ExtendedKeyManagergetKeyManager(T keyManagerFactory)
static KeyManagerUtils.KeyManagerBuilder
keyManagerBuilder()
static void
overrideIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String... hosts)
static void
swapKeyManager(X509KeyManager baseKeyManager, X509KeyManager newKeyManager)
Swaps the internal KeyManager instance with the given keyManager object.static <T extends X509KeyManager>
X509ExtendedKeyManager[]toArray(T keyManager)
static X509ExtendedKeyManager
wrapIfNeeded(X509KeyManager keyManager)
-
-
-
Method Detail
-
combine
public static X509ExtendedKeyManager combine(X509KeyManager... keyManagers)
-
combine
public static X509ExtendedKeyManager combine(List<? extends X509KeyManager> keyManagers)
-
toArray
public static <T extends X509KeyManager> X509ExtendedKeyManager[] toArray(T keyManager)
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(KeyStoreHolder... keyStoreHolders)
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(KeyStore keyStore, char[] keyPassword)
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm)
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm, String securityProviderName)
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm, Provider securityProvider)
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(KeyStore keyStore, char[] keyPassword, KeyManagerFactory keyManagerFactory)
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(KeyStore keyStore, Map<String,char[]> aliasToPassword)
-
wrapIfNeeded
public static X509ExtendedKeyManager wrapIfNeeded(X509KeyManager keyManager)
-
createKeyManagerFactory
public static KeyManagerFactory createKeyManagerFactory(KeyManager keyManager)
-
getKeyManager
public static <T extends KeyManagerFactory> X509ExtendedKeyManager getKeyManager(T keyManagerFactory)
-
createDummyKeyManager
public static X509ExtendedKeyManager createDummyKeyManager()
-
createLoggingKeyManager
public static X509ExtendedKeyManager createLoggingKeyManager(X509KeyManager keyManager)
-
createSwappableKeyManager
public static X509ExtendedKeyManager createSwappableKeyManager(X509KeyManager keyManager)
Wraps the given KeyManager into an instance of a Hot Swappable KeyManager This type of KeyManager has the capability of swapping in and out different KeyManagers at runtime.- Parameters:
keyManager
- To be wrapped KeyManager- Returns:
- Swappable KeyManager
-
swapKeyManager
public static void swapKeyManager(X509KeyManager baseKeyManager, X509KeyManager newKeyManager)
Swaps the internal KeyManager instance with the given keyManager object. The baseKeyManager should be an instance ofHotSwappableX509ExtendedKeyManager
and can be created withcreateSwappableKeyManager(X509KeyManager)
- Parameters:
baseKeyManager
- an instance ofHotSwappableX509ExtendedKeyManager
newKeyManager
- to be injected instance of a KeyManager- Throws:
GenericKeyManagerException
- ifbaseKeyManager
is not instance ofHotSwappableX509ExtendedKeyManager
-
addIdentityRoute
public static void addIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String... hosts)
-
overrideIdentityRoute
public static void overrideIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String... hosts)
-
getIdentityRoute
public static Map<String,List<String>> getIdentityRoute(X509ExtendedKeyManager keyManager)
-
keyManagerBuilder
public static KeyManagerUtils.KeyManagerBuilder keyManagerBuilder()
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(PrivateKey privateKey, Certificate[] certificatesChain)
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(String alias, PrivateKey privateKey, Certificate[] certificatesChain)
-
-