鍵ストア
Liberty プロファイルは、Java 鍵ストア (JKS) の鍵ストア・タイプのみを作成できます。Liberty プロファイルでの他のタイプの鍵ストアのサポートは、基礎の Java ランタイム環境 (JRE) で何がサポートされているかに依存します。以下に、Liberty プロファイル内の異なる鍵ストア・タイプを示します。
keystore エレメントの構成属性について詳しくは、SSL 構成の属性を参照してください。
JKS および JCEKS
Java 鍵ストア (JKS) と Java Cryptography Extensions 鍵ストア (JCEKS) は、IBM JRE と Oracle JRE に共通しており、どちらの JRE を使用しても同じ構成にできます。JKS は、Liberty プロファイルのデフォルトの鍵ストア・タイプで、Liberty プロファイルが作成できる唯一の鍵ストアのタイプです。構成内に鍵ストア・タイプが指定されていない場合は、JKS が使用されます。
以下に、JKS 鍵ストア構成の例を示します。
<keyStore id="sampleJKSKeyStore"
location="MyKeyStoreFile.jks"
type="JKS" password="myPassword" />
以下に、JCEKS 鍵ストア構成の例を示します。
<keyStore id="sampleJCEKSKeyStore"
location="MyKeyStoreFile.jceks"
type="JCEKS" password="myPassword" />
PKCS12 鍵ストア
Public Key Cryptography Standards #12 (PKCS12) 鍵ストアは、IBM JRE が使用されている場合、Liberty プロファイルで使用できますが、作成はできません。以下に、PKCS12 鍵ストア構成の例を示します。
<keyStore id="samplePKCS12KeyStore"
location="MyKeyStoreFile.p12"
type="PKCS12" password="myPassword" />
CMS 鍵ストア
CMS 鍵ストアは、IBM JRE が使用されている場合、Liberty プロファイルで構成できますが、作成はできません。ただし、若干の特殊な構成が必要です。CMS プロバイダーは、デフォルトでは IBM JRE で使用できないため、IBM JRE の java.security ファイル内のプロバイダー・リストに追加する必要があります。以下の例では、リストの最後に com.ibm.security.cmskeystore.CMSProvider クラスが追加されています。プロバイダー・リスト内のプロバイダー番号が正しいことを確認してください。Liberty プロファイルは、鍵ストアにアクセスするとき、CMS 鍵ストア stash ファイルは使用しません。
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"/>