java.lang.Object
nl.altindag.ssl.util.KeyManagerUtils
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final char[]private static final BiFunction<Class<?>, Class<?>, GenericKeyManagerException> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic 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) private static booleancomputeIdentityMaterialIfPossible(X509ExtendedKeyManager baseKeyManager, Consumer<InflatableX509ExtendedKeyManager> consumer) Remove, add or other actions related toInflatableX509ExtendedKeyManagerprivate static voidcomputeIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String[] hosts, boolean overrideExistingRouteEnabled, boolean removeExistingRouteEnabled) static X509ExtendedKeyManagerstatic X509ExtendedKeyManagerstatic 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.getAliases(X509ExtendedKeyManager keyManager) Returns a list of aliases associated with the KeyManagers within aCombinableX509KeyManagergetIdentityRoute(X509ExtendedKeyManager keyManager) static <T extends KeyManagerFactory>
X509ExtendedKeyManagergetKeyManager(T keyManagerFactory) 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) private static List<X509ExtendedKeyManager> unwrapIfPossible(X509ExtendedKeyManager keyManager) static X509ExtendedKeyManagerwrapIfNeeded(X509KeyManager keyManager)
-
Field Details
-
DUMMY_PASSWORD
private static final char[] DUMMY_PASSWORD -
KEY_MANAGER_TYPE_MISMATCH_EXCEPTION_PROVIDER
private static final BiFunction<Class<?>,Class<?>, KEY_MANAGER_TYPE_MISMATCH_EXCEPTION_PROVIDERGenericKeyManagerException>
-
-
Constructor Details
-
KeyManagerUtils
private KeyManagerUtils()
-
-
Method Details
-
combine
-
combine
-
toArray
-
createKeyManager
-
createKeyManager
-
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
-
createKeyManagerFactory
-
getKeyManager
public static <T extends KeyManagerFactory> X509ExtendedKeyManager getKeyManager(T keyManagerFactory) -
createDummyKeyManager
-
createLoggingKeyManager
-
createSwappableKeyManager
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
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
-
computeIdentityRoute
private static void computeIdentityRoute(X509ExtendedKeyManager keyManager, String alias, String[] hosts, boolean overrideExistingRouteEnabled, boolean removeExistingRouteEnabled) -
getIdentityRoute
-
unwrapIfPossible
-
keyManagerBuilder
-
createKeyManager
public static X509ExtendedKeyManager createKeyManager(PrivateKey privateKey, Certificate[] certificatesChain) -
createKeyManager
public static X509ExtendedKeyManager createKeyManager(String alias, PrivateKey privateKey, Certificate[] certificatesChain) -
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
Removes identity material from aInflatableX509ExtendedKeyManager -
computeIdentityMaterialIfPossible
private static boolean computeIdentityMaterialIfPossible(X509ExtendedKeyManager baseKeyManager, Consumer<InflatableX509ExtendedKeyManager> consumer) Remove, add or other actions related toInflatableX509ExtendedKeyManager -
getAliases
Returns a list of aliases associated with the KeyManagers within aCombinableX509KeyManager
-