- 封装类:
-
KeyStore
KeyStore
对象的描述。
此类的实例封装了实例化和初始化KeyStore
对象所需的信息。当调用getKeyStore()方法时,该过程将被触发。
这样可以将配置与KeyStore
对象的创建分离,例如,直到需要密码提示为止。
- 自JDK版本:
- 1.5
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract KeyStore
返回此对象描述的KeyStore
。abstract KeyStore.ProtectionParameter
getProtectionParameter
(String alias) 返回应该用于获取具有给定别名的Entry
的ProtectionParameter
。static KeyStore.Builder
newInstance
(File file, KeyStore.ProtectionParameter protection) 返回一个新的Builder
对象。static KeyStore.Builder
newInstance
(String type, Provider provider, File file, KeyStore.ProtectionParameter protection) 返回一个新的Builder
对象。static KeyStore.Builder
newInstance
(String type, Provider provider, KeyStore.ProtectionParameter protection) 返回一个新的Builder
对象。static KeyStore.Builder
newInstance
(KeyStore keyStore, KeyStore.ProtectionParameter protectionParameter) 返回一个封装给定KeyStore
的新Builder
。
-
Constructor Details
-
Builder
protected Builder()构造一个新的Builder
。
-
-
Method Details
-
getKeyStore
返回此对象描述的KeyStore
。- 返回:
-
此对象描述的
KeyStore
- 抛出:
-
KeyStoreException
- 如果操作期间发生错误,例如无法实例化或加载KeyStore
-
getProtectionParameter
public abstract KeyStore.ProtectionParameter getProtectionParameter(String alias) throws KeyStoreException - 参数:
-
alias
-KeyStore
条目的别名 - 返回:
-
应该用于获取具有给定别名的
Entry
的ProtectionParameter
- 抛出:
-
NullPointerException
- 如果别名为null
-
KeyStoreException
- 如果操作期间发生错误 -
IllegalStateException
- 如果在调用此方法之前未调用getKeyStore
方法
-
newInstance
public static KeyStore.Builder newInstance(KeyStore keyStore, KeyStore.ProtectionParameter protectionParameter) 返回一个封装给定KeyStore
的新Builder
。返回对象的getKeyStore()方法将返回keyStore
,getProtectionParameter()方法将返回protectionParameters
。如果需要将现有
KeyStore
对象与基于构建器的API一起使用,则此方法很有用。- 参数:
-
keyStore
- 要封装的KeyStore
-
protectionParameter
- 用于保护KeyStore
条目的ProtectionParameter
- 返回:
-
一个新的
Builder
对象 - 抛出:
-
NullPointerException
- 如果keyStore
或protectionParameter
为null
-
IllegalArgumentException
- 如果keyStore
未初始化
-
newInstance
public static KeyStore.Builder newInstance(String type, Provider provider, File file, KeyStore.ProtectionParameter protection) 返回一个新的Builder
对象。返回的构建器上第一次调用
getKeyStore()
方法将创建一个类型为type
的KeyStore
对象,并调用其load()
方法。inputStream
参数是从file
构造的。如果protection
是PasswordProtection
,则通过调用getPassword
方法获取密码。否则,如果protection
是CallbackHandlerProtection
,则通过调用回调处理程序获取密码。对
getKeyStore()
的后续调用将返回与初始调用相同的对象。如果初始调用由于KeyStoreException
失败,则后续调用也会抛出KeyStoreException
。如果非空,则从
provider
实例化KeyStore
。否则,将搜索所有已安装的提供程序。调用
getProtectionParameter()
将返回封装用于调用load
方法的密码的PasswordProtection
对象。请注意,
getKeyStore()
方法在调用此方法的代码的AccessControlContext
中执行。- 参数:
-
type
- 要构造的KeyStore
的类型 -
provider
- 用于实例化KeyStore
的提供程序(或null
) -
file
- 包含KeyStore
数据的文件 -
protection
- 保护KeyStore
数据的ProtectionParameter
- 返回:
-
一个新的
Builder
对象 - 抛出:
-
NullPointerException
- 如果类型、文件或保护为null
-
IllegalArgumentException
- 如果保护不是PasswordProtection或CallbackHandlerProtection的实例;或者如果文件不存在或不是普通文件
-
newInstance
返回一个新的Builder
对象。返回的构建器上第一次调用
getKeyStore()
方法将使用file
检测密钥库类型并调用其load()
方法。它使用与KeyStore.getInstance(File, LoadStoreParameter)
中描述的相同算法来确定密钥库类型。inputStream
参数是从file
构造的。如果protection
是PasswordProtection
,则通过调用getPassword
方法获取密码。否则,如果protection
是CallbackHandlerProtection
,则通过调用回调处理程序获取密码。对
getKeyStore()
的后续调用将返回与初始调用相同的对象。如果初始调用由于KeyStoreException
失败,则后续调用也会抛出KeyStoreException
。调用
getProtectionParameter()
将返回封装用于调用load
方法的密码的PasswordProtection
对象。请注意,
getKeyStore()
方法在调用此方法的代码的AccessControlContext
中执行。- 参数:
-
file
- 包含KeyStore
数据的文件 -
protection
- 保护KeyStore
数据的ProtectionParameter
- 返回:
-
一个新的
Builder
对象 - 抛出:
-
NullPointerException
- 如果文件或保护为null
-
IllegalArgumentException
- 如果保护不是PasswordProtection或CallbackHandlerProtection的实例;或者如果文件不存在或不是普通文件 - 自JDK版本:
- 9
-
newInstance
public static KeyStore.Builder newInstance(String type, Provider provider, KeyStore.ProtectionParameter protection) 返回一个新的Builder
对象。返回的构建器上每次调用
getKeyStore()
方法将返回一个新的KeyStore
对象,其类型为type
。使用封装protection
的LoadStoreParameter
调用其load()
方法。如果非空,则从
provider
实例化KeyStore
。否则,将搜索所有已安装的提供程序。调用
getProtectionParameter()
将返回protection
。请注意,
getKeyStore()
方法在调用此方法的代码的AccessControlContext
中执行。- 参数:
-
type
- 要构造的KeyStore
的类型 -
provider
- 用于实例化KeyStore
的提供程序(或null
) -
protection
- 保护KeyStore
数据的ProtectionParameter
- 返回:
-
一个新的
Builder
对象 - 抛出:
-
NullPointerException
- 如果类型或保护为null
-