- 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 
 
 -  
 
 -