java.lang.Object java.security.KeyStore.Builder
public abstract static class KeyStore.Builder
将被实例化的 KeyStore 对象的描述。
此类的实例封装了初始化和实例化 KeyStore 对象所需的信息。当调用 getKeyStore() 方法时触发该过程。
这使将配置从 KeyStore 对象的创建中分离出来和(例如)在需要前一直延迟密码提示成为可能。
KeyStore
,
KeyStoreBuilderParameters
构造方法摘要 | |
---|---|
protected |
KeyStore.Builder() 构造新的 Builder。 |
方法摘要 | |
---|---|
abstract KeyStore |
getKeyStore() 返回此对象描述的 KeyStore。 |
abstract KeyStore.ProtectionParameter |
getProtectionParameter(String alias) 返回应该用来获取具有给定别名的 Entry 的 ProtectionParameters。 |
static KeyStore.Builder |
newInstance(KeyStore keyStore, KeyStore.ProtectionParameter protectionParameter) 返回封装给定 KeyStore 的新 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 对象。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
protected KeyStore.Builder()
方法详细信息 |
---|
public abstract KeyStore getKeyStore() throws KeyStoreException
KeyStoreException
- 如果操作期间出现错误,例如,如果 KeyStore 不能被实例化或加载。
public abstract KeyStore.ProtectionParameter getProtectionParameter(String alias) throws KeyStoreException
Entry
的 ProtectionParameters。在调用此方法前必须调用
getKeyStore
方法。
alias
- KeyStore 项的别名
Entry
的 ProtectionParameters。
NullPointerException
- 如果 alias 为 null
KeyStoreException
- 如果操作期间发生错误
IllegalStateException
- 如果调用此方法前没有调用 getKeyStore 方法
public static KeyStore.Builder newInstance(KeyStore keyStore, KeyStore.ProtectionParameter protectionParameter)
keyStore
,
getProtectionParameter() 方法将返回
protectionParameters
。
如果一个现有的 KeyStore 对象需要和基于 Builder 的 APIs 一起使用,则此方法很有用。
keyStore
- 将被封装的 KeyStore
protectionParameter
- 用来保护 KeyStore 项的 ProtectionParameter
NullPointerException
- 如果 keyStore 或 protectionParameters 为 null
IllegalArgumentException
- 如果 keyStore 没有被初始化
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。
根据 provider
(如果非 null)初始化 KeyStore。否则,将搜索所有安装的提供者。
调用 getProtectionParameter()
将返回 PasswordProtection
对象,该对象封装用来调用 load
方法的密码。
注意,getKeyStore()
方法在调用此方法的代码的 AccessControlContext
中执行。
type
- 将构造的 KeyStore 类型
provider
- 根据其实例化 KeyStore 提供者(或 null)
file
- 包含 KeyStore 数据的 File
protection
- 保护 KeyStore 数据的 ProtectionParameter
NullPointerException
- 如果 type、file 或 protection 为 null
IllegalArgumentException
- 如果 protection 既不是 PasswordProtection 也不是 CallbackHandlerProtection 的实例;如果 file 不存在或其不表示一个标准文件
public static KeyStore.Builder newInstance(String type, Provider provider, KeyStore.ProtectionParameter protection)
每次对返回的 builder 调用 getKeyStore()
方法将返回新的 type
类型的 KeyStore 对象。使用封装 protection
的 LoadStoreParameter
调用其 load()
方法。
根据 provider
(如果非 null)初始化 KeyStore。否则,将搜索所有安装的提供者。
调用 getProtectionParameter()
将返回 protection
。
注意,getKeyStore()
方法在调用此方法的代码的 AccessControlContext
中执行。
type
- 将构造的 KeyStore 类型
provider
- 根据其实例化 KeyStore 的提供者(或 null)
protection
- 保护 Keystore 的 ProtectionParameter
NullPointerException
- 如果 type 或 protection 为 null