declare namespace javax { namespace net { namespace ssl { /** * This class acts as a factory for key managers based on a * source of key material. Each key manager manages a specific * type of key material for use by secure sockets. The key * material is based on a KeyStore and/or provider specific sources. * @since 1.4 * @see KeyManager */ // @ts-ignore class KeyManagerFactory extends java.lang.Object { /** * Creates a KeyManagerFactory object. * @param factorySpi the delegate * @param provider the provider * @param algorithm the algorithm */ // @ts-ignore constructor(factorySpi: javax.net.ssl.KeyManagerFactorySpi, provider: java.security.Provider, algorithm: java.lang.String | string) /** * Obtains the default KeyManagerFactory algorithm name. *

The default algorithm can be changed at runtime by setting * the value of the {@code ssl.KeyManagerFactory.algorithm} * security property to the desired algorithm name. * @see java.security.Security security properties * @return the default algorithm name as specified by the * {#code ssl.KeyManagerFactory.algorithm} security property, or an * implementation-specific default if no such property exists. */ // @ts-ignore public static getDefaultAlgorithm(): string /** * Returns the algorithm name of this KeyManagerFactory object. *

This is the same name that was specified in one of the * getInstance calls that created this * KeyManagerFactory object. * @return the algorithm name of this KeyManagerFactory object. */ // @ts-ignore public getAlgorithm(): string /** * Returns a KeyManagerFactory object that acts as a * factory for key managers. *

This method traverses the list of registered security Providers, * starting with the most preferred Provider. * A new KeyManagerFactory object encapsulating the * KeyManagerFactorySpi implementation from the first * Provider that supports the specified algorithm is returned. *

Note that the list of registered providers may be retrieved via * the {@link Security#getProviders() Security.getProviders()} method. * @param algorithm the standard name of the requested algorithm. * See the * Java Secure Socket Extension Reference Guide * for information about standard algorithm names. * @return the new KeyManagerFactory object. * @exception NoSuchAlgorithmException if no Provider supports a * KeyManagerFactorySpi implementation for the * specified algorithm. * @exception NullPointerException if algorithm is null. * @see java.security.Provider */ // @ts-ignore public static getInstance(algorithm: java.lang.String | string): javax.net.ssl.KeyManagerFactory /** * Returns a KeyManagerFactory object that acts as a * factory for key managers. *

A new KeyManagerFactory object encapsulating the * KeyManagerFactorySpi implementation from the specified provider * is returned. The specified provider must be registered * in the security provider list. *

Note that the list of registered providers may be retrieved via * the {@link Security#getProviders() Security.getProviders()} method. * @param algorithm the standard name of the requested algorithm. * See the * Java Secure Socket Extension Reference Guide * for information about standard algorithm names. * @param provider the name of the provider. * @return the new KeyManagerFactory object. * @throws NoSuchAlgorithmException if a KeyManagerFactorySpi * implementation for the specified algorithm is not * available from the specified provider. * @throws NoSuchProviderException if the specified provider is not * registered in the security provider list. * @throws IllegalArgumentException if the provider name is null or empty. * @throws NullPointerException if algorithm is null. * @see java.security.Provider */ // @ts-ignore public static getInstance(algorithm: java.lang.String | string, provider: java.lang.String | string): javax.net.ssl.KeyManagerFactory /** * Returns a KeyManagerFactory object that acts as a * factory for key managers. *

A new KeyManagerFactory object encapsulating the * KeyManagerFactorySpi implementation from the specified Provider * object is returned. Note that the specified Provider object * does not have to be registered in the provider list. * @param algorithm the standard name of the requested algorithm. * See the * Java Secure Socket Extension Reference Guide * for information about standard algorithm names. * @param provider an instance of the provider. * @return the new KeyManagerFactory object. * @throws NoSuchAlgorithmException if a KeyManagerFactorySpi * implementation for the specified algorithm is not available * from the specified Provider object. * @throws IllegalArgumentException if provider is null. * @throws NullPointerException if algorithm is null. * @see java.security.Provider */ // @ts-ignore public static getInstance(algorithm: java.lang.String | string, provider: java.security.Provider): javax.net.ssl.KeyManagerFactory /** * Returns the provider of this KeyManagerFactory object. * @return the provider of this KeyManagerFactory object */ // @ts-ignore public getProvider(): java.security.Provider /** * Initializes this factory with a source of key material. *

* The provider typically uses a KeyStore for obtaining * key material for use during secure socket negotiations. * The KeyStore is generally password-protected. *

* For more flexible initialization, please see * {@link #init(ManagerFactoryParameters)}. *

* @param ks the key store or null * @param password the password for recovering keys in the KeyStore * @throws KeyStoreException if this operation fails * @throws NoSuchAlgorithmException if the specified algorithm is not * available from the specified provider. * @throws UnrecoverableKeyException if the key cannot be recovered * (e.g. the given password is wrong). */ // @ts-ignore public init(ks: java.security.KeyStore, password: string[]): void /** * Initializes this factory with a source of provider-specific * key material. *

* In some cases, initialization parameters other than a keystore * and password may be needed by a provider. Users of that * particular provider are expected to pass an implementation of * the appropriate ManagerFactoryParameters as * defined by the provider. The provider can then call the * specified methods in the ManagerFactoryParameters * implementation to obtain the needed information. * @param spec an implementation of a provider-specific parameter * specification * @throws InvalidAlgorithmParameterException if an error is encountered */ // @ts-ignore public init(spec: javax.net.ssl.ManagerFactoryParameters): void /** * Returns one key manager for each type of key material. * @return the key managers * @throws IllegalStateException if the KeyManagerFactory is not initialized */ // @ts-ignore public getKeyManagers(): javax.net.ssl.KeyManager[] } } } }