- java.lang.Object
-
- java.security.KeyStore.Builder
-
- Enclosing class:
- KeyStore
public abstract static class KeyStore.Builder extends Object
要实例化的KeyStore对象的描述。此类的实例封装实例化和初始化KeyStore对象所需的信息。 调用getKeyStore()方法时会触发该进程。
这使得可以从KeyStore对象创建中解除配置,例如延迟密码提示,直到需要它为止。
- 从以下版本开始:
- 1.5
- 另请参见:
-
KeyStore
,KeyStoreBuilderParameters
-
-
构造方法摘要
构造方法 变量 构造器 描述 protected
Builder()
构建一个新的Builder。
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 abstract KeyStore
getKeyStore()
返回此对象描述的KeyStore。abstract KeyStore.ProtectionParameter
getProtectionParameter(String alias)
返回应该用于获取具有给定别名的Entry
的ProtectionParameters。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。
-
-
-
方法详细信息
-
getKeyStore
public abstract KeyStore getKeyStore() throws KeyStoreException
返回此对象描述的KeyStore。- 结果
-
该对象描述的
KeyStore
- 异常
-
KeyStoreException
- 如果在操作期间发生错误,例如,如果无法实例化或加载KeyStore
-
getProtectionParameter
public abstract KeyStore.ProtectionParameter getProtectionParameter(String alias) throws KeyStoreException
返回应该用于获取具有给定别名的Entry
的ProtectionParameters。 必须在调用此方法之前调用getKeyStore
方法。- 参数
-
alias
- KeyStore条目的别名 - 结果
-
应该用于获取具有给定别名的
Entry
的ProtectionParameters。 - 异常
-
NullPointerException
- 如果别名为null -
KeyStoreException
- 如果在操作期间发生错误 -
IllegalStateException
- 如果在调用此方法之前尚未调用getKeyStore方法
-
newInstance
public static KeyStore.Builder newInstance(KeyStore keyStore, KeyStore.ProtectionParameter protectionParameter)
返回封装给定KeyStore的新Builder。 该getKeyStore()返回对象的方法将返回keyStore
,该getProtectionParameter()方法将返回protectionParameters
。如果现有的KeyStore对象需要与基于Builder的API一起使用,这将非常有用。
- 参数
-
keyStore
- 要封装的KeyStore -
protectionParameter
- 用于保护KeyStore条目的ProtectionParameter - 结果
- 一个新的Builder对象
- 异常
-
NullPointerException
- 如果keyStore或protectionParameters为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
,则通过调用CallbackHandler获取密码。对
getKeyStore()
的后续调用将返回与初始调用相同的对象。 如果初始调用因KeyStoreException而失败,则后续调用也会抛出KeyStoreException。如果非null,则从
provider
实例化KeyStore。 否则,搜索所有已安装的提供程序。调用
getProtectionParameter()
将返回一个PasswordProtection
对象,该对象封装用于调用load
方法的密码。请注意 ,
getKeyStore()
方法在调用此方法的代码的AccessControlContext
内执行。- 参数
-
type
- 要构造的KeyStore的类型 -
provider
- 要从中实例化KeyStore的提供程序(或null) -
file
- 包含KeyStore数据的文件 -
protection
- 保护KeyStore数据的ProtectionParameter - 结果
- 一个新的Builder对象
- 异常
-
NullPointerException
- 如果type,file或protection为null -
IllegalArgumentException
- 如果保护不是PasswordProtection或CallbackHandlerProtection的实例; 或者如果文件不存在或者没有引用普通文件
-
newInstance
public static KeyStore.Builder newInstance(File file, KeyStore.ProtectionParameter protection)
返回一个新的Builder对象。在返回的构建器上第一次调用
getKeyStore()
方法将使用file
创建KeyStore以检测密钥库类型,然后调用其load()
方法。 它使用相同的算法来确定密钥库类型,如KeyStore.getInstance(File, LoadStoreParameter)
中所述 。inputStream
参数由file
。 如果protection
是PasswordProtection
,则通过调用getPassword
方法获取密码。 否则,如果protection
是CallbackHandlerProtection
,则通过调用CallbackHandler获取密码。对
getKeyStore()
的后续调用将返回与初始调用相同的对象。 如果初始调用因KeyStoreException而失败,则后续调用也会抛出KeyStoreException。调用
getProtectionParameter()
将返回一个PasswordProtection
对象,该对象封装用于调用load
方法的密码。请注意 ,
getKeyStore()
方法在调用此方法的代码的AccessControlContext
内执行。- 参数
-
file
- 包含KeyStore数据的文件 -
protection
- 保护KeyStore数据的ProtectionParameter - 结果
- 一个新的Builder对象
- 异常
-
NullPointerException
- 如果文件或保护为空 -
IllegalArgumentException
- 如果保护不是PasswordProtection或CallbackHandlerProtection的实例; 或者如果文件不存在或者没有引用普通文件 - 从以下版本开始:
- 9
-
newInstance
public static KeyStore.Builder newInstance(String type, Provider provider, KeyStore.ProtectionParameter protection)
返回一个新的Builder对象。在返回的构建器上每次调用
getKeyStore()
方法都将返回一个类型为type
的新KeyStore对象。 使用封装protection
的LoadStoreParameter
调用其load()
方法。如果非null,则从
provider
实例化KeyStore。 否则,搜索所有已安装的提供程序。致电
getProtectionParameter()
将返回protection
。请注意 ,
getKeyStore()
方法在调用此方法的代码的AccessControlContext
内执行。- 参数
-
type
- 要构造的KeyStore的类型 -
provider
- 要从中实例化KeyStore的提供程序(或null) -
protection
- 保护密钥库的ProtectionParameter - 结果
- 一个新的Builder对象
- 异常
-
NullPointerException
- 如果type或protection为null
-
-