public class KeyManagerFactory
extends Object
java.lang.Object | |
↳ | javax.net.ssl.KeyManagerFactory |
这个班级是基于关键材料来源的关键经理的工厂。 每个密钥管理器管理特定类型的密钥材料以供安全套接字使用。 关键材料基于KeyStore和/或提供商特定的来源。
也可以看看:
Protected constructors |
|
---|---|
KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm) 创建一个KeyManagerFactory对象。 |
Public methods |
|
---|---|
final String |
getAlgorithm() 返回此 |
static final String |
getDefaultAlgorithm() 获取默认的KeyManagerFactory算法名称。 |
static final KeyManagerFactory |
getInstance(String algorithm) 返回一个充当密钥管理器工厂的 |
static final KeyManagerFactory |
getInstance(String algorithm, String provider) 返回充当密钥管理器工厂的 |
static final KeyManagerFactory |
getInstance(String algorithm, Provider provider) 返回充当密钥管理器工厂的 |
final KeyManager[] |
getKeyManagers() 为每种类型的密钥材料返回一个密钥管理器。 |
final Provider |
getProvider() 返回此 |
final void |
init(ManagerFactoryParameters spec) 使用特定于提供者的密钥材料的来源初始化此工厂。 |
final void |
init(KeyStore ks, char[] password) 使用密钥材料来初始化该工厂。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
KeyManagerFactory (KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)
创建一个KeyManagerFactory对象。
Parameters | |
---|---|
factorySpi |
KeyManagerFactorySpi : the delegate |
provider |
Provider : the provider |
algorithm |
String : the algorithm |
String getAlgorithm ()
返回此 KeyManagerFactory
对象的算法名称。
这与创建此 KeyManagerFactory
对象的 getInstance
调用之一中指定的名称相同。
Returns | |
---|---|
String |
the algorithm name of this KeyManagerFactory object. |
String getDefaultAlgorithm ()
获取默认的KeyManagerFactory算法名称。
通过将“ssl.KeyManagerFactory.algorithm”安全属性的值(在Java安全属性文件中设置或通过调用 setProperty(java.lang.String, java.lang.String)
)设置为所需的算法名称,可以在运行时更改默认算法。
Returns | |
---|---|
String |
the default algorithm name as specified in the Java security properties, or an implementation-specific default if no such property exists. |
KeyManagerFactory getInstance (String algorithm)
返回一个充当密钥管理器工厂的 KeyManagerFactory
对象。
该方法遍历注册安全提供程序的列表,从最优先的提供程序开始。 返回一个新的KeyManagerFactory对象,该对象封装来自支持指定算法的第一个Provider的KeyManagerFactorySpi实现。
请注意,注册供应商列表可能通过 Security.getProviders()
方法检索。
Parameters | |
---|---|
algorithm |
String : the standard name of the requested algorithm. See the Java Secure Socket Extension Reference Guide for information about standard algorithm names. |
Returns | |
---|---|
KeyManagerFactory |
the new KeyManagerFactory object. |
Throws | |
---|---|
NoSuchAlgorithmException |
if no Provider supports a KeyManagerFactorySpi implementation for the specified algorithm. |
NullPointerException |
if algorithm is null. |
也可以看看:
KeyManagerFactory getInstance (String algorithm, String provider)
返回作为密钥管理器工厂的 KeyManagerFactory
对象。
返回封装指定提供者的KeyManagerFactorySpi实现的新KeyManagerFactory对象。 指定的提供者必须在安全提供者列表中注册。
请注意,注册供应商列表可能通过 Security.getProviders()
方法检索。
Parameters | |
---|---|
algorithm |
String : the standard name of the requested algorithm. See the Java Secure Socket Extension Reference Guide for information about standard algorithm names. |
provider |
String : the name of the provider. |
Returns | |
---|---|
KeyManagerFactory |
the new KeyManagerFactory object. |
Throws | |
---|---|
NoSuchAlgorithmException |
if a KeyManagerFactorySpi implementation for the specified algorithm is not available from the specified provider. |
NoSuchProviderException |
if the specified provider is not registered in the security provider list. |
IllegalArgumentException |
if the provider name is null or empty. |
NullPointerException |
if algorithm is null. |
也可以看看:
KeyManagerFactory getInstance (String algorithm, Provider provider)
返回一个充当密钥管理器工厂的 KeyManagerFactory
对象。
返回封装指定Provider对象的KeyManagerFactorySpi实现的新KeyManagerFactory对象。 请注意,指定的Provider对象不必在提供程序列表中注册。
Parameters | |
---|---|
algorithm |
String : the standard name of the requested algorithm. See the Java Secure Socket Extension Reference Guide for information about standard algorithm names. |
provider |
Provider : an instance of the provider. |
Returns | |
---|---|
KeyManagerFactory |
the new KeyManagerFactory object. |
Throws | |
---|---|
NoSuchAlgorithmException |
if a KeyManagerFactorySpi implementation for the specified algorithm is not available from the specified Provider object. |
IllegalArgumentException |
if provider is null. |
NullPointerException |
if algorithm is null. |
也可以看看:
KeyManager[] getKeyManagers ()
为每种类型的密钥材料返回一个密钥管理器。
Returns | |
---|---|
KeyManager[] |
the key managers |
Throws | |
---|---|
IllegalStateException |
if the KeyManagerFactory is not initialized |
Provider getProvider ()
返回此 KeyManagerFactory
对象的提供者。
Returns | |
---|---|
Provider |
the provider of this KeyManagerFactory object |
void init (ManagerFactoryParameters spec)
使用特定于提供者的密钥材料的来源初始化此工厂。
在某些情况下,供应商可能需要初始化参数而不是密钥库和密码。 预计该特定供应商的用户将通过提供商定义的相应ManagerFactoryParameters
的实施。 然后,提供者可以调用ManagerFactoryParameters
实现中的指定方法来获取所需的信息。
Parameters | |
---|---|
spec |
ManagerFactoryParameters : an implementation of a provider-specific parameter specification |
Throws | |
---|---|
InvalidAlgorithmParameterException |
if an error is encountered |
void init (KeyStore ks, char[] password)
使用密钥材料来初始化该工厂。
提供商通常使用KeyStore来获取在安全套接字协商期间使用的密钥材料。 KeyStore通常受密码保护。
为了更灵活的初始化,请参阅 init(ManagerFactoryParameters)
。
Parameters | |
---|---|
ks |
KeyStore : the key store or null |
password |
char : the password for recovering keys in the KeyStore |
Throws | |
---|---|
KeyStoreException |
if this operation fails |
NoSuchAlgorithmException |
if the specified algorithm is not available from the specified provider. |
UnrecoverableKeyException |
if the key cannot be recovered (e.g. the given password is wrong). |