- 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
-
-
构造方法摘要
构造方法 变量 构造器 描述 protectedBuilder()构建一个新的Builder。
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 abstract KeyStoregetKeyStore()返回此对象描述的KeyStore。abstract KeyStore.ProtectionParametergetProtectionParameter(String alias)返回应该用于获取具有给定别名的Entry的ProtectionParameters。static KeyStore.BuildernewInstance(File file, KeyStore.ProtectionParameter protection)返回一个新的Builder对象。static KeyStore.BuildernewInstance(String type, Provider provider, File file, KeyStore.ProtectionParameter protection)返回一个新的Builder对象。static KeyStore.BuildernewInstance(String type, Provider provider, KeyStore.ProtectionParameter protection)返回一个新的Builder对象。static KeyStore.BuildernewInstance(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
-
-