Module java.base
Package java.security

Class DomainLoadStoreParameter

java.lang.Object
java.security.DomainLoadStoreParameter
所有已实现的接口:
KeyStore.LoadStoreParameter

public final class DomainLoadStoreParameter extends Object implements KeyStore.LoadStoreParameter
指定密钥库域中密钥库的配置数据。密钥库域是一组密钥库,它们被呈现为单个逻辑密钥库。配置数据在KeyStoreloadstore操作期间使用。

支持以下语法用于配置数据:


     domain <domainName> [<property> ...] {
         keystore <keystoreName> [<property> ...] ;
         ...
     };
     ...
 
其中domainNamekeystoreName是标识符,property是键/值对。键和值之间用'equals'符号分隔,值用双引号括起来。属性值可以是可打印字符串,也可以是以冒号分隔的十六进制数字对的二进制字符串。多值属性表示为以逗号分隔的值列表,括在方括号中。参见Arrays.toString(java.lang.Object[])

为了确保密钥库条目能够被唯一标识,每个条目的别名都以其keystoreName为前缀,后跟条目名称分隔符,并且每个keystoreName在其域内必须是唯一的。存储密钥库时会省略条目名称前缀。

属性是上下文敏感的: 适用于域中所有密钥库的属性位于域子句中,仅适用于特定密钥库的属性位于该密钥库的子句中。除非另有说明,密钥库子句中的属性会覆盖域子句中同名的属性。所有属性名称不区分大小写。支持以下属性:

keystoreType="<type>"
密钥库类型。
keystoreURI="<url>"
密钥库位置。
keystoreProviderName="<name>"
密钥库的JCE提供程序名称。
keystorePasswordEnv="<environment-variable>"
存储密钥库密码的环境变量。或者,密码可以通过Map<String, ProtectionParameter>的构造方法提供。
entryNameSeparator="<separator>"
密钥库名称前缀和条目名称之间的分隔符。当指定时,它适用于域中的所有条目。其默认值是一个空格。

例如,以下是一个由三个密钥库组成的简单密钥库域的配置数据:

 domain app1 {
     keystore app1-truststore
         keystoreURI="file:///app1/etc/truststore.jks";

     keystore system-truststore
         keystoreURI="${java.home}/lib/security/cacerts";

     keystore app1-keystore
         keystoreType="PKCS12"
         keystoreURI="file:///app1/etc/keystore.p12";
 };

 
自 JDK 版本:
1.8
  • Constructor Details

    • DomainLoadStoreParameter

      public DomainLoadStoreParameter(URI configuration, Map<String,KeyStore.ProtectionParameter> protectionParams)
      为用于保护密钥库数据的参数构造一个DomainLoadStoreParameter,用于密钥库域。
      参数:
      configuration - 域配置数据的标识符。当需要区分同一位置上的多个域配置时,应在java.net.URI的片段组件中指定目标域的名称。
      protectionParams - 从密钥库名称到用于保护密钥库数据的参数的映射。当不需要保护参数或者已在域配置数据中的属性中指定时,应使用java.util.Collections.EMPTY_MAP。为防止后续修改,它会被克隆。
      抛出:
      NullPointerException - 如果configurationprotectionParamsnull
  • Method Details

    • getConfiguration

      public URI getConfiguration()
      获取域配置数据的标识符。
      返回:
      配置数据的标识符
    • getProtectionParams

      public Map<String,KeyStore.ProtectionParameter> getProtectionParams()
      获取此域中密钥库的密钥库保护参数。
      返回:
      一个不可修改的密钥库名称到保护参数的映射
    • getProtectionParameter

      public KeyStore.ProtectionParameter getProtectionParameter()
      获取此域的密钥库保护参数。密钥库域不支持保护参数。
      指定者:
      在接口KeyStore.LoadStoreParameter中的getProtectionParameter中指定
      返回:
      始终返回null