密钥库

Liberty 只能创建 Java™ Keystore (JKS) 这一密钥库类型。Liberty 中对其他密钥库类型的支持可能取决于底层 Java 运行时环境 (JRE) 支持的对象。

有关 keystore 元素的配置属性的更多信息,请参阅 SSL 配置属性

JKS 和 JCEKS

Java 密钥库 (JKS) 和 Java 密码术扩展密钥库 (JCEKS) 是 IBM JRE 和 Oracle JRE 的公共密钥库,并且可使用任一 JRE 将它们配置为相同。JKS 是 Liberty 中的缺省密钥库类型,并且是 Liberty 可创建的唯一密钥库类型。如果未在配置中指定任何密钥库类型,那么会使用 JKS。

JDS 密钥库配置的示例如下所示:
     <keyStore id="sampleJKSKeyStore"
      location="MyKeyStoreFile.jks"
      type="JKS" password="myPassword" />
JCEKS 密钥库配置的示例如下所示:
    <keyStore id="sampleJCEKSKeyStore"
     location="MyKeyStoreFile.jceks"
     type="JCEKS" password="myPassword" />

PKCS11 密钥库

可配置硬件密码密钥库,以便 Liberty 服务器可用来提供密码令牌支持。

用户必须提供特定于硬件设备的配置文件。此配置文件是文本文件,包含格式为 attribute = value 的条目。此文件必须至少包含 namelibrary 属性。例如:
name = HWDevice
library = /opt/foo/lib/libpkcs11.so

name 属性是要给予设备的此实例的名称。library 属性包含硬件设备提供的库的路径(用于该访问设备)。此配置文件还可包含特定于该硬件设备的配置数据。

要在 Liberty 中配置 PKCS11 密钥库,keystore 元素必须包含以下字段:
  • id - 在配置中唯一标识 keystore 元素。
  • location - 特定于硬件设备的配置文件的路径。
  • type - PKCS11 必须指定为密钥库类型。
  • fileBased - 必须为 false 以将此密钥库标识为设备。
  • password - 访问设备中的密钥时所需的密码。
  • provider - 所需提供程序。对于 IBM® JRE,该值必须为 IBMPKCS11Impl,对于 Oracle JRE,该值必须为 SunPKCS11
以下是示例配置:
<keyStore id="hwKeyStore" 
          location="${server.config.dir}/HWCrypto.cfg" 
          type="PKCS11" 
          fileBased="false" 
          password="{xor}Lz4sLCgwLTs=" 
          provider="IBMPKCS11Impl"/>  

PKCS12 密钥库

使用 IBM JRE 时,可使用公用密钥密码术标准 #12 (PKCS12) 密钥库,而不使用 Liberty 创建的密钥库。PKCS12 密钥库配置的示例如下所示:
    <keyStore id="samplePKCS12KeyStore"
     location="MyKeyStoreFile.p12"
     type="PKCS12" password="myPassword" />

CMS 密钥库

使用 IBM JRE 时可配置 CMS 密钥库(而不是 Liberty 创建的密钥库),但需要一些特殊配置。CMS 提供程序缺省情况下在 IBM JRE 上不可用,因此,必须将它添加至 IBM JRE 的 java.security 文件中的提供程序列表。在以下示例中,com.ibm.security.cmskeystore.CMSProvider 类被添加至列表结尾。请确保提供程序列表中的提供程序编号正确。Liberty 不使用 CMS 密钥库隐藏文件来获取对密钥库的访问。
    security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.4=com.ibm.security.cert.IBMCertPath
    security.provider.5=com.ibm.security.sasl.IBMSASL
    security.provider.6=com.ibm.xml.crypto.IBMXMLCryptoProvider
    security.provider.7=com.ibm.xml.enc.IBMXMLEncProvider
    security.provider.8=org.apache.harmony.security.provider.PolicyProvider
    security.provider.9=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    security.provider.10=com.ibm.security.cmskeystore.CMSProvider
为使用 CMS 密钥库,server.xml 文件中的配置如下所示:
    <keyStore id="sampleCMSKeyStore" 
     password="myPassword"
     location="MyKeyStoreFile.kdb"
     provider="IBMCMSProvider"
     type="CMSKS"/>

用于指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=rwlp_sec_keystores
文件名:rwlp_sec_keystores.html