密钥库
Liberty 概要文件仅可创建 Java 密钥库 (JKS) 这一密钥库类型。Liberty 概要文件中对其他密钥库类型的支持可取决于底层 Java 运行时环境 (JRE) 支持的对象。以下是 Liberty 概要文件中的不同密钥库类型。
有关 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" />
PKCS12 密钥库
使用 IBM JRE 时可使用不是由 Liberty 概要文件创建的公用密钥密码术标准 #12 (PKCS12) 密钥库。PKCS12 密钥库配置的示例如下所示:
<keyStore id="samplePKCS12KeyStore"
location="MyKeyStoreFile.p12"
type="PKCS12" password="myPassword" />
CMS 密钥库
使用 IBM JRE 时可配置不是由 Liberty 概要文件创建的 CMS 密钥库。但是,需要进行一些特殊配置。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"/>