- 封装类:
-
KeyStore
KeyStore对象的描述。
此类的实例封装了实例化和初始化KeyStore对象所需的信息。当调用getKeyStore()方法时,该过程将被触发。
这样可以将配置与KeyStore对象的创建分离,例如,直到需要密码提示为止。
- 自JDK版本:
- 1.5
- 参见:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract KeyStore返回此对象描述的KeyStore。abstract KeyStore.ProtectionParametergetProtectionParameter(String alias) 返回应该用于获取具有给定别名的Entry的ProtectionParameter。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。
-
Constructor Details
-
Builder
protected Builder()构造一个新的Builder。
-
-
Method Details
-
getKeyStore
返回此对象描述的KeyStore。- 返回:
-
此对象描述的
KeyStore - 抛出:
-
KeyStoreException- 如果操作期间发生错误,例如无法实例化或加载KeyStore
-
getProtectionParameter
public abstract KeyStore.ProtectionParameter getProtectionParameter(String alias) throws KeyStoreException - 参数:
-
alias-KeyStore条目的别名 - 返回:
-
应该用于获取具有给定别名的
Entry的ProtectionParameter - 抛出:
-
NullPointerException- 如果别名为null -
KeyStoreException- 如果操作期间发生错误 -
IllegalStateException- 如果在调用此方法之前未调用getKeyStore方法
-
newInstance
public static KeyStore.Builder newInstance(KeyStore keyStore, KeyStore.ProtectionParameter protectionParameter) 返回一个封装给定KeyStore的新Builder。返回对象的getKeyStore()方法将返回keyStore,getProtectionParameter()方法将返回protectionParameters。如果需要将现有
KeyStore对象与基于构建器的API一起使用,则此方法很有用。- 参数:
-
keyStore- 要封装的KeyStore -
protectionParameter- 用于保护KeyStore条目的ProtectionParameter - 返回:
-
一个新的
Builder对象 - 抛出:
-
NullPointerException- 如果keyStore或protectionParameter为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,则通过调用回调处理程序获取密码。对
getKeyStore()的后续调用将返回与初始调用相同的对象。如果初始调用由于KeyStoreException失败,则后续调用也会抛出KeyStoreException。如果非空,则从
provider实例化KeyStore。否则,将搜索所有已安装的提供程序。调用
getProtectionParameter()将返回封装用于调用load方法的密码的PasswordProtection对象。请注意,
getKeyStore()方法在调用此方法的代码的AccessControlContext中执行。- 参数:
-
type- 要构造的KeyStore的类型 -
provider- 用于实例化KeyStore的提供程序(或null) -
file- 包含KeyStore数据的文件 -
protection- 保护KeyStore数据的ProtectionParameter - 返回:
-
一个新的
Builder对象 - 抛出:
-
NullPointerException- 如果类型、文件或保护为null -
IllegalArgumentException- 如果保护不是PasswordProtection或CallbackHandlerProtection的实例;或者如果文件不存在或不是普通文件
-
newInstance
返回一个新的Builder对象。返回的构建器上第一次调用
getKeyStore()方法将使用file检测密钥库类型并调用其load()方法。它使用与KeyStore.getInstance(File, LoadStoreParameter)中描述的相同算法来确定密钥库类型。inputStream参数是从file构造的。如果protection是PasswordProtection,则通过调用getPassword方法获取密码。否则,如果protection是CallbackHandlerProtection,则通过调用回调处理程序获取密码。对
getKeyStore()的后续调用将返回与初始调用相同的对象。如果初始调用由于KeyStoreException失败,则后续调用也会抛出KeyStoreException。调用
getProtectionParameter()将返回封装用于调用load方法的密码的PasswordProtection对象。请注意,
getKeyStore()方法在调用此方法的代码的AccessControlContext中执行。- 参数:
-
file- 包含KeyStore数据的文件 -
protection- 保护KeyStore数据的ProtectionParameter - 返回:
-
一个新的
Builder对象 - 抛出:
-
NullPointerException- 如果文件或保护为null -
IllegalArgumentException- 如果保护不是PasswordProtection或CallbackHandlerProtection的实例;或者如果文件不存在或不是普通文件 - 自JDK版本:
- 9
-
newInstance
public static KeyStore.Builder newInstance(String type, Provider provider, KeyStore.ProtectionParameter protection) 返回一个新的Builder对象。返回的构建器上每次调用
getKeyStore()方法将返回一个新的KeyStore对象,其类型为type。使用封装protection的LoadStoreParameter调用其load()方法。如果非空,则从
provider实例化KeyStore。否则,将搜索所有已安装的提供程序。调用
getProtectionParameter()将返回protection。请注意,
getKeyStore()方法在调用此方法的代码的AccessControlContext中执行。- 参数:
-
type- 要构造的KeyStore的类型 -
provider- 用于实例化KeyStore的提供程序(或null) -
protection- 保护KeyStore数据的ProtectionParameter - 返回:
-
一个新的
Builder对象 - 抛出:
-
NullPointerException- 如果类型或保护为null
-