鍵ストア構成を使用して、WebSphere Application Server のランタイムが Secure Sockets Layer (SSL) 構成用に、鍵ストア・タイプをロードし、管理する方法を定義します。
デフォルトで、java.security.Security.getAlgorithms("KeyStore") 属性は、定義済みの鍵ストア・タイプのリストを管理コンソールに表示しません。 代わりに、WebSphere Application Server は、java.security.KeyStore オブジェクトが参照できる、 すべての鍵ストア・タイプを取り出します。 例えば、ハードウェア暗号、z/OS プラットフォーム、i5/OS プラットフォーム、IBM Java Cryptography Extension (IBMJCE)、Java ベースの コンテンツ管理システム (CMS) プロバイダーなどが、これに該当します。 鍵ストア・プロバイダーを java.security ファイルに指定するか、プログラマチックにプロバイダー・リス トに追加する場合は、WebSphere Application Server はカスタム鍵ストアも取り出します。 この取り出しのリストは、プラットフォームおよびプロセスの java.security 構成によって異なります。
<keyStores xmi:id="KeyStore_1" name="NodeDefaultKeyStore" password="{xor}349dkckdd=" provider="IBMJCE" location="${USER_INSTALL_ROOT}/config/cells/myhostNode01Cell /nodes/myhostNode01/key.p12" type="PKCS12" fileBased="true" hostList="" initializeAtStartup="true" readOnly="false" managementScope="ManagementScope_1"/>デフォルトの鍵ストア構成について詳しくは、デフォルトの自己署名証明書の構成 を参照してください。
属性名 | デフォルト | 説明 |
---|---|---|
xmi:id | 多様 | 構成の別の領域 (例えば、SSL 構成) から鍵ストアを参照するために発行した値です。 この値を security.xml ファイル内で固有にします。 |
name | JSSE 鍵ストアの場合: CellDefaultKeyStore JSSE トラストストアの場合: CellDefaultTrustStore | 目で確認することによって、鍵ストアを識別するのに使用する名前です。 名前が DefaultKeyStore または DefaultTrustStore で終わるかどうかに基づいて、その鍵ストアがデフォルトの鍵ストアか、そうでないかを判別できます。 |
password | デフォルトの鍵ストア・パスワードは、WebAS です。 これは、なるべく早く変更することをお勧めします。 詳しくは、スクリプトによるデフォルトの鍵ストア・パスワードの更新 を参照してください。 | 鍵ストア名にアクセスするために使用するパスワードは、鍵ストアに鍵を保管するために使用するデフォルト・パスワードでもあります。 |
provider | デフォルトのプロバイダーは IBMJCE です。 | タイプ属性 (例えば、PKCS12 タイプ) を実装する Java プロバイダーで す。 このプロバイダーは指定しないでおくことができます。指定しないと、指定された鍵ストア・タイプを実装する最初のプロバイダーが使用されます。 |
location | デフォルトはさまざまですが、 通常は、構成リポジトリーのノード・ディレクトリー またはセル・ディレクトリー内にある、key.p12 ファイル または trust.p12 ファイルを参照します。 これらのファイルは PKCS12 タイプの鍵ストアです。 | 鍵ストアのロケーション参照です。鍵ストアがファイル・ベースである場合、ロケーションは、鍵ス トアがあるノードのファイル・システムのパスを参照できます。 ただし、ロケーションが構成リポジトリー以外にあり、 管理コンソールまたは wsadmin ユーティリティーから 鍵ストアをリモートで管理する場合は、 鍵ストアがあるノードのホスト名を含む hostList 属性を指定してください。 |
type | Java crypto device 鍵ストアの デフォルトのタイプは、PKCS12 です。 | このタイプは鍵ストアを指定します。有効なタイプは、java.security.Security.getAlgorithms("KeyStore") 属性が戻すタイプです。
これらのタイプには、次の鍵ストアのタイプが含まれており、
その可用性は、プロセスおよび
プラットフォームの java.security 構成によって異なります。
|
fileBased | デフォルトは true です。 | このオプションは、デフォルトの鍵ストアに必要です。これはファイル・システムの鍵ストアを示すので、鍵ストア のロードおよび保管には FileInputStream または FileOutputStream を使用できます。 |
hostList | 鍵ストアをリモートで管理できるように、リモート・ホスト名を指定するには、hostList 属性を使用します。 デフォルトでは、リモートで管理できる鍵ストアはありません。 すべてのデフォルトの鍵ストアは、構成リポジトリーでローカルに管理され、各ノードに同期されます。 | このオプションは鍵ストアをリモートで管理します。鍵ストアに、有効なノードのホスト名を設定できます。 管理コンソールまたは wsadmin ユーティリティーのいずれかを使用して、この鍵ストアの証明書を管理する場合は、 承認操作のために、鍵ストアがあるノードに MBean 呼び出しが行われます。 鍵ストア操作の同期は保証されていませんが、複数のホストを指定できます。 例えば、特定の操作を実行した場合に、リストされているホストの 1 つが停止する可能性があります。 このため、このリストの複数のホストを使用してください。 |
initializeAtStartup | デフォルトは true です。 | このオプションは、ランタイムに、開始時に鍵ストアを初期化するように、通知しま す。 このオプションは、ハードウェア暗号装置の加速に関して、重要になる場合があります。 |
readOnly | デフォルトは false です。 | このオプションは、構成に対して、この鍵ストアへの書き込みができないことを 通知します。 つまり、鍵ストアに対するある種の更新操作を試行できず、許可されていないということです。 読み取り専用鍵ストアのタイプの例は、z/OS プラットフォーム上の JCERACFKS です。このタイプは、WebSphere の証明書管理の立場から見ると読み取り専用ですが、RACF 用の鍵ストア管理機能を使用すれば更新できます。 |
managementScope | デフォルトの有効範囲は、ベース・アプリケーション・サーバー環境の場合はノード有効 範囲で、Network Deployment 環境の場合はセル有効範囲です。 | このオプションは、この鍵ストアを表示できる特定の管理有効範囲を参照します。 例えば、ハードウェア暗号デバイスが物理的に特定のノードにある場合は、トポロジー表示で、 「セキュリティー」>「Security Communications」>「SSL 構成」の下に、 そのノードへのリンクから鍵ストアを作成します。また、管理有効範囲を使用して、鍵ストア参照を分離することもできます。 特定のアプリケーション・サーバーだけに鍵ストアの参照を許可する、つまり管理有効範囲をその特定のサーバーのみにすることが必要な場合があります。 |
WebSphere Application Server は、IBMJCE ファイル・ベースの鍵ストア、Java Cryptography Extension Key Stores (JCEKS)、Java Key Stores (JKS)、Public Key Cryptography Standards 12 (PKCS12)、および z/OS 固有の RACF (JCERACFKS) 鍵ストアをサポートしています。z/OS 上の IBMJCE ファイル・ベースの鍵ストアのサポートは、 分散プラットフォーム上のサポートと完全な互換性があり、これに類似しています。 JCERACFKS 鍵ストアは、RACF で保管および管理されている鍵と証明書を使用します。
IBMJCECCA プロバイダーは IBMJCE4758 プロバイダーを旧リリースから拡張し、置き換えます。この時点で、IBMJCECCA プロバイダーおよび IBMJCE4758 プロバイダーは、機能としては同等です。 IBMJCECCA プロバイダーは 4 つの鍵ストア JCECCAKS (JCE4758KS) および JCECCARACFKS (JCE4758RACFKS) をサポートします。JCECCAKS 鍵ストアは、z/OS ハードウェアに保管され、ICSF により管理される鍵を使用します。JCECCARACFKS 鍵ストアは、RACF 鍵リングで管理および保管されている証明書を扱い、鍵は z/OS ハードウェアに保管されます。 JCE4758KS および JCE4758RACFKS の鍵ストアは下位互換性のために組み込まれており、推奨されません。JCECCAKS 鍵ストアは JCE4758KS 鍵ストアを拡張し、置き換えます。JCECCARACFKS 鍵ストアは JCE4758RACFKS 鍵ストアを拡張し、置き換えます。
IBMJCE プロバイダーは、前出のリストされている z/OS 固有の鍵ストアのセットにある JCERACFKS 鍵ストアのみをサポートできます。 IBMJCE プロバイダーは、JCECCAKS または JCECCARACFKS 鍵ストアの構成要素を使用できません。 これはそのハードウェア固有であるためです。
IBMJCECCA プロバイダーは、JCERACFKS、JKS、および JCEKS 鍵ストアのソフトウェア鍵構成要素をサポートし、ハードウェアの加速を利用できます。
IBMJCE プロバイダーおよび IBMJCECCA プロバイダーに、新しい鍵ストア・クラス JceRACFKeyStore が追加されました。この鍵ストアにより、WebSphere Application Server は鍵リングからの読み取りが可能なので、鍵リングから証明書と鍵を取り出す場合はこのクラスを使用してください。 ただし、サーバーが鍵リングにデータを書き込もうとすると、IOException がスローされます。RACFInputStream は任意の鍵ストアと連動しますが、サーバーが JceRACFKeyStore クラス以外の鍵ストアを使用する場合は、RACF に保管されたデータが誤って階層ファイル・システム (HFS) ファイルに書き込まれる可能性があります。
JceRACFKeyStore および RACFInputStream を含むすべての JAVA RACF サービスは、R_datalib (IRRSDL00) サービスを使用して RACF から証明書を取り出します。 ただし、このサービスを使用するためには、JAVA RACF クラスを使用する前に、R_datalib に対する許可を取得する必要があります。必要な許可をセットアップする方法について詳しくは、「OS/390 Security Server Callable Services guide」を参照してください。
プロバイダー固有の属性の中には、CMS 鍵ストアで設定できる ものがあります。
<keyStores xmi:id="KeyStore_1132071489571" name="CMSKeyStore" password="{xor}HRYNFAtrbxEwOzpvbhw6MzM=" provider="IBMCMSProvider" location="${USER_INSTALL_ROOT}¥profiles¥AppSrv01/config/cells/myhostCell01 /nodes/myhostNode01/servers/webserver1/plugin-key.kdb" type="CMSKS" fileBased="true" createStashFileForCMS="true" managementScope="ManagementScope_1132071489569"/>
<keyStores xmi:id="KeyStore_1132071489571" name="CMSKeyStore" password="{xor}HRYNFAtrbxEwOzpvbhw6MzM=" provider="IBMi5OSJSSEProvider" location="${USER_INSTALL_ROOT}¥profiles¥AppSrv01/config/cells/myhostCell01 /nodes/myhostNode01/servers/webserver1/plugin-key.kdb" type="IBMi5OSKeyStore" fileBased="true" createStashFileForCMS="true" managementScope="ManagementScope_1132071489569"/>
暗号デバイスの構成については、 暗号を使用するための鍵管理 およびハードウェア暗号鍵ストアの構成 を 参照してください。
カスタム・プロパティー com.ibm.ssl.keyStoreSlot として、または構成属性 slot="0" として、スロットを追加できます。カスタム・プロパティーは、後方互換性の属性の前に読み取られます。
環境によっては、ハードウェアの加速用に、ハードウェア暗号カードを使用できます。useForAcceleration 属性を true に設定するか、com.ibm.ssl.keyStoreUseForAcceleration カスタム・プロパティーを設定します。 この属性を true に設定すると、パスワードを構成する必要がなくなります。 ただし、デバイスを使用して鍵を保管することはできません。 ハードウェア暗号鍵ストアの構成について詳しくは、ハードウェア暗号鍵ストア構成を構成するを参照してください。