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 classKeyManagerUtils.KeyManagerBuilder
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String... hosts)static X509ExtendedKeyManagercombine(List<? extends X509KeyManager> keyManagers)static X509ExtendedKeyManagercombine(X509KeyManager... keyManagers)static X509ExtendedKeyManagercreateDummyKeyManager()static X509ExtendedKeyManagercreateKeyManager(String alias, PrivateKey privateKey, Certificate[] certificatesChain)static X509ExtendedKeyManagercreateKeyManager(KeyStore keyStore, char[] keyPassword)static X509ExtendedKeyManagercreateKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm)static X509ExtendedKeyManagercreateKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm, String securityProviderName)static X509ExtendedKeyManagercreateKeyManager(KeyStore keyStore, char[] keyPassword, String keyManagerFactoryAlgorithm, Provider securityProvider)static X509ExtendedKeyManagercreateKeyManager(KeyStore keyStore, char[] keyPassword, KeyManagerFactory keyManagerFactory)static X509ExtendedKeyManagercreateKeyManager(KeyStore keyStore, Map<String,char[]> aliasToPassword)static X509ExtendedKeyManagercreateKeyManager(PrivateKey privateKey, Certificate[] certificatesChain)static X509ExtendedKeyManagercreateKeyManager(KeyStoreHolder... keyStoreHolders)static KeyManagerFactorycreateKeyManagerFactory(KeyManager keyManager)static X509ExtendedKeyManagercreateLoggingKeyManager(X509KeyManager keyManager)static X509ExtendedKeyManagercreateSwappableKeyManager(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.KeyManagerBuilderkeyManagerBuilder()static voidoverrideIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String... hosts)static voidswapKeyManager(X509KeyManager baseKeyManager, X509KeyManager newKeyManager)Swaps the internal KeyManager instance with the given keyManager object.static <T extends X509KeyManager>
X509ExtendedKeyManager[]toArray(T keyManager)static X509ExtendedKeyManagerwrapIfNeeded(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 ofHotSwappableX509ExtendedKeyManagerand can be created withcreateSwappableKeyManager(X509KeyManager)- Parameters:
baseKeyManager- an instance ofHotSwappableX509ExtendedKeyManagernewKeyManager- to be injected instance of a KeyManager- Throws:
GenericKeyManagerException- ifbaseKeyManageris 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)
-
-