- 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
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
Builder()
构建新的Builder。
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 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条目的别名 - 结果
-
应使用ProtectionParameters获取给定别名的
Entry
。 - 异常
-
NullPointerException
- 如果别名为空 -
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或protectParameters为空 -
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。KeyStore如果非空,则从
provider
实例化。 否则,将搜索所有安装的提供程序。调用
getProtectionParameter()
将返回一个封装用于调用load
方法的密码的PasswordProtection
对象。请注意 ,
getKeyStore()
方法是在调用此方法的代码的AccessControlContext
内执行的。- 参数
-
type
- 要构建的KeyStore的类型 -
provider
- 要从中将实例化KeyStore的提供者(或null) -
file
- 包含KeyStore数据的文件 -
protection
- 保护KeyStore数据的ProtectionParameter - 结果
- 一个新的Builder对象
- 异常
-
NullPointerException
- 如果类型,文件或保护为空 -
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()
将返回一个封装用于调用load
方法的密码的PasswordProtection
对象。请注意 ,
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()
方法将返回一个新的KeyStore对象,类型为type
。 其load()
方法使用封装protection
的LoadStoreParameter
调用。如果非空,KeyStore从
provider
实例化。 否则,将搜索所有安装的提供程序。致电
getProtectionParameter()
将返回protection
。请注意 ,
getKeyStore()
方法在调用此方法的代码的AccessControlContext
内执行。- 参数
-
type
- 要构建的KeyStore的类型 -
provider
- 要从其中实例化KeyStore的提供者(或为空) -
protection
- 保护密钥库的ProtectionParameter - 结果
- 一个新的Builder对象
- 异常
-
NullPointerException
- 如果类型或保护为空
-
-