Liberty: 鍵ストア

Liberty は、Java™ 鍵ストア (JKS) の鍵ストア・タイプのみを作成できます。Liberty での他のタイプの鍵ストアのサポートは、基礎の Java ランタイム環境 (JRE) で何がサポートされているかに依存します。

keystore エレメントの構成属性について詳しくは、Liberty: 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" />

PKCS11 鍵ストア

Liberty サーバーを使用して暗号トークン・サポートを提供するために、ハードウェア暗号鍵ストアを構成することができます。

ユーザーは、ハードウェア・デバイス固有の構成ファイルを提供する必要があります。 この構成ファイルは、attribute = value というフォーマットをしたエントリーを含むテキスト・ファイルです。 このファイルには、少なくとも name 属性と library 属性が必要です。 以下に例を示します。
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 鍵ストア

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

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwlp_sec_keystores
ファイル名: rwlp_sec_keystores.html