- 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 描述 protectedBuilder()构建新的Builder。
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 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条目的别名 - 结果
-
应使用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- 如果类型或保护为空
-
-