Class AggregatedX509ExtendedKeyManager

java.lang.Object
javax.net.ssl.X509ExtendedKeyManager
nl.altindag.ssl.keymanager.AggregatedX509ExtendedKeyManager
All Implemented Interfaces:
KeyManager, X509KeyManager, CombinableX509KeyManager, RoutableX509KeyManager

public final class AggregatedX509ExtendedKeyManager extends X509ExtendedKeyManager implements CombinableX509KeyManager, RoutableX509KeyManager
Represents an ordered list of X509ExtendedKeyManager with most-preferred managers first.

This is necessary because of the fine-print on SSLContext.init(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom): Only the first instance of a particular key and/or key manager implementation type in the array is used. (For example, only the first javax.net.ssl.X509KeyManager in the array will be used.) The KeyManager can be build from one or more of any combination provided within the KeyManagerUtils.KeyManagerBuilder.

This includes:

     - Any amount of custom KeyManagers
     - Any amount of custom Identities
 

NOTE: Please don't use this class directly as it is part of the internal API. Class name and methods can be changed any time. Instead use the KeyManagerUtils which provides the same functionality while it has a stable API because it is part of the public API.

See Also: