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 voidaddIdentityMaterial(X509ExtendedKeyManager keyManager, String alias, KeyStore keyStore, char[] keyPassword)Adds identity material tp aInflatableX509ExtendedKeyManagerIf the provided keyManager is not of the typeInflatableX509ExtendedKeyManagerit will throw an exceptionstatic voidaddIdentityMaterial(X509ExtendedKeyManager baseKeyManager, String alias, X509ExtendedKeyManager keyManagerToBeAdded)Adds identity material tp aInflatableX509ExtendedKeyManagerIf the provided baseKeyManager is not of the typeInflatableX509ExtendedKeyManagerit will throw an exceptionstatic voidaddIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String... hosts)static X509ExtendedKeyManagercombine(List<? extends X509KeyManager> keyManagers)static X509ExtendedKeyManagercombine(X509KeyManager... keyManagers)static X509ExtendedKeyManagercreateDummyKeyManager()static X509ExtendedKeyManagercreateInflatableKeyManager()static X509ExtendedKeyManagercreateInflatableKeyManager(String alias, X509ExtendedKeyManager keyManager)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 List<String>getAliases(X509ExtendedKeyManager keyManager)Returns a list of aliases associated with the KeyManagers within aCombinableX509KeyManagerstatic 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 voidremoveIdentityMaterial(X509ExtendedKeyManager baseKeyManager, String alias)Removes identity material from aInflatableX509ExtendedKeyManagerstatic voidremoveIdentityRoute(X509ExtendedKeyManager keyManager, String alias)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)
-
removeIdentityRoute
public static void removeIdentityRoute(X509ExtendedKeyManager keyManager, String alias)
-
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)
-
createInflatableKeyManager
public static X509ExtendedKeyManager createInflatableKeyManager()
-
createInflatableKeyManager
public static X509ExtendedKeyManager createInflatableKeyManager(String alias, X509ExtendedKeyManager keyManager)
-
addIdentityMaterial
public static void addIdentityMaterial(X509ExtendedKeyManager keyManager, String alias, KeyStore keyStore, char[] keyPassword)
Adds identity material tp aInflatableX509ExtendedKeyManagerIf the provided keyManager is not of the typeInflatableX509ExtendedKeyManagerit will throw an exception
-
addIdentityMaterial
public static void addIdentityMaterial(X509ExtendedKeyManager baseKeyManager, String alias, X509ExtendedKeyManager keyManagerToBeAdded)
Adds identity material tp aInflatableX509ExtendedKeyManagerIf the provided baseKeyManager is not of the typeInflatableX509ExtendedKeyManagerit will throw an exception
-
removeIdentityMaterial
public static void removeIdentityMaterial(X509ExtendedKeyManager baseKeyManager, String alias)
Removes identity material from aInflatableX509ExtendedKeyManager
-
getAliases
public static List<String> getAliases(X509ExtendedKeyManager keyManager)
Returns a list of aliases associated with the KeyManagers within aCombinableX509KeyManager
-
-