WebSphere Application Server のプロセスが初めて開始されるとき、Secure Sockets Layer (SSL) ランタイムは SSL 構成で指定されたデフォルトの鍵ストアとトラストストアを初期化します。
WebSphere Application Server は、プロファイルの作成中に、key.p12 デフォルト鍵ストア・ファイルと trust.p12 デフォルト・トラストストア・ファイルを作成します。このとき、デフォルトの自己署名証明書も key.p12 ファイルに作成されます。公開鍵の署名者は key.p12 ファイルから抽出され、trust.p12 ファイルに追加されます。プロセスの開始時にこれらのファイルが存在しない場合は、開始時に再作成されます。
DefaultKeyStore および DefaultTrustStore という接尾部が付いているため、鍵ストアとトラスト ストアのデフォルトを簡単に識別することができます。 また、ランタイムがデフォルトの鍵ストアとトラストストアのみを使用するように、SSL 構成では fileBased 属性を true に設定する必要があります。
ベース・アプリケーション・サーバーでは、デフォルトの鍵ストアとトラストストアは、 構成リポジトリーのノード・ディレクトリーに保管されます。 例えば、デフォルトの key.p12 および trust.p12 ストア は、AppSrv01 というプロファイル名、myhostNode01Cell という名前、 および myhostNode01 というノード名で作成されています。 鍵ストアとトラストストアは、次のディレクトリーにあります。
C:¥WebSphere¥AppServer¥profiles¥AppSrv01¥config¥cells¥myhostNode01Cell ¥nodes¥myhostNode01¥key.p12 C:¥WebSphere¥AppServer¥profiles¥AppSrv01¥config¥cells¥myhostNode01Cell ¥nodes¥myhostNode01¥trust.p12
/QIBM/UserData/WebSphere/AppServer/V61/ND/profiles/default/config /cells/myhostNode01Cell/nodes/myhostNode01/key.p12 /QIBM/UserData/WebSphere/AppServer/V61/ND/profiles/default/config /cells/myhostNode01Cell/nodes/myhostNode01/trust.p12
WebSphere Application Server により生成される、 すべてのデフォルトの鍵ストアの デフォルト・パスワードは、WebAS です。 よりセキュアな環境を確保するために、最初の構成後にこのデフォルト・パスワードを変更します。
デフォルトの自己署名証明書は、プロファイルのサーバーおよびクライアントの両方について、そのプロファイルの作成時に作成されます。
作成された新しい自己署名証明書には、共通トラストストアに追加した署名者が指定さ れていなければならないことに注意してください。 これを行うには、管理コンソールを使用する必要があります。
クライアントとサーバー間に SSL クライアント認証をセットアップする場合は、署名者の交換を実行する必要があります。 ssl.client.props ファイルに存在する、下記の証明書のプロパティーは、サーバー構成には存在しません。 ただし、管理コンソールでこれらの値をカスタム・セキュリティー・プロパティーとして追加することにより、サーバ ー構成で使用することができます。 証明書のプロパティーは ssl.client.props ファイルに表示されますが、サーバー構成には表示されません。 ただし、管理コンソールでこれらの値をカスタム・プロパティーとして追加することにより、サーバー構成で変更すること ができます。
com.ibm.ssl.defaultCertReqAlias=default_alias com.ibm.ssl.defaultCertReqSubjectDN=cn=${hostname},o=IBM,c=US com.ibm.ssl.defaultCertReqDays=365 com.ibm.ssl.defaultCertReqKeySize=1024
default_alias の値がすでに存在している場合、 ランタイムは __# を追加します。 ここでの番号記号 (#) は、 鍵ストア内で固有になるまで増分される番号となります。 ${hostname} は、 最初に作成されたホスト名に解決される変数です。 自己署名証明書のデフォルトの有効期限は、作成日から 1 年です。
ランタイムは、証明書有効期限モニターを使用して、自己署名証明書の有効期限をモニターします。 これらの自己署名証明書は、有効期限しきい値 (通常は有効期限の 30 日前) 内にあるとき、署名者証明書と一緒に自動的に置き換えられます。 デフォルトの鍵サイズは、Java ランタイム環境ポリシー・ファイルが無制限である、すなわち、エクスポートされな い場合にのみ、1024 ビットより大きくすることができます。 詳しくは、証明書有効期限のモニター を参照してください。
デフォルトの SSL 構成
<repertoire xmi:id="SSLConfig_1" alias="CellDefaultSSLSettings" managementScope="ManagementScope_1"> <setting xmi:id="SecureSocketLayer_1" clientAuthentication="false" securityLevel="HIGH" enabledCiphers="" jsseProvider="IBMJSSE2" sslProtocol="SSL_TLS" keyStore="KeyStore_1" trustStore="KeyStore_2" trustManager="TrustManager_1" keyManager="KeyManager_1"/> </repertoire>
デフォルトの鍵ストアとトラストストア
<keyStores xmi:id="KeyStore_1" name="CellDefaultKeyStore" password="{xor}123skfkdkid=" provider="IBMJCE" location="${USER_INSTALL_ROOT} /config/cells/myhostCell01/key.p12" type="PKCS12" fileBased="true" hostList="" initializeAtStartup="true" managementScope="ManagementScope_2"/> <keyStores xmi:id="KeyStore_2" name="CellDefaultTrustStore" password="{xor}123skfkdkid=" provider="IBMJCE" location="${USER_INSTALL_ROOT} /config/cells/myhostCell01/trust.p12" type="PKCS12" fileBased="true" hostList="" initializeAtStartup="true" managementScope="ManagementScope_2"/> <managementScopes xmi:id="ManagementScope_2" scopeName="(cell):myhostCell01" scopeType="cell"/>
デプロイメント・マネージャーの trust.p12 トラストストアは、すべてのプロセスから認識でき るため、共通と呼ばれます。 実際、ベース・アプリケーション・サーバーが Network Deployment 環境に統合されると 、トラストストアが DefaultTrustStore で終了するノードの SSL 構成は自動的に変更され、CellDefaultTrustStore 共通トラストストアを指します。 DefaultKeyStore で終了するすべての鍵ストアでは、自己署名証明書の署名者が共通トラストストアに追加され ます。 統合後、すべてのデフォルト SSL 構成は共通トラストストアを参照し、信頼されたセキュア通信がすべてのサーバー・プロセスについて確立されます。
セル内のサーバーと通信する必要のあるクライアントは、CellDefaultTrustStore を参照する retrieveSigners スクリプトを実行できます。このスクリプトは、デプロイメント・マネージャーの自己署名証明書を含む、セルのすべての署名者を取得します。 詳しくは、クライアント署名者を取り出すためのセキュア・インストール を参照してください。
key.p12 ファイルが構成リポジトリーで定義される場合、デプロイメント・マネージャーはローカルで鍵 ストアを管理し、それを所有するノードに同期することができます。 key.p12 ファイルは、物理的にはリポジトリーの myhostNode01 ディレクトリーに存在します。これにより、このフ ァイルはそのノードとデプロイメント・マネージャーのみに使用可能になります。
統合後、NodeDefaultTrustStore はデフォルトの SSL 構成により参照されません。 ただし、ノードが同じセルの他のサーバーを信頼してはいけない、すなわち、共通 CellDefaultTrustStore トラストストアは使用してはいけないとユーザーが決定すれば、トラストストアは構成コード内に残ります。 ノード固有のトラストストアに戻す場合は、信頼するノードからのみ署名者を追加することで、同じセル内でも高水準 の分離を実現できます。 同じセル内のプロセス間で高水準の SSL の分離を実現する方法について詳しくは、 Secure Sockets Layer ノード、アプリケーション・サーバー、およびクラスターの分離 を参照してください。
デフォルトの SSL 構成
<repertoire xmi:id="SSLConfig_1" alias="CellDefaultSSLSettings" managementScope="ManagementScope_1"> <setting xmi:id="SecureSocketLayer_1" clientAuthentication="false" securityLevel="HIGH" enabledCiphers="" jsseProvider="IBMJSSE2" sslProtocol="SSL_TLS" keyStore="KeyStore_1" trustStore="KeyStore_2" trustManager="TrustManager_1" keyManager="KeyManager_1"/> </repertoire> <repertoire xmi:id="SSLConfig_1128545825854" alias="NodeDefaultSSLSettings" managementScope="ManagementScope_1128545825854"> <setting xmi:id="SecureSocketLayer_1128545825854" clientAuthentication="false" securityLevel="HIGH" enabledCiphers="" jsseProvider="IBMJSSE2" sslProtocol="SSL_TLS" keyStore="KeyStore_1128545825854" trustStore="KeyStore_2" trustManager="TrustManager_1128545825854" keyManager="KeyManager_1128545825854"/> </repertoire>
デフォルトの鍵ストアとトラストストア
<keyStores xmi:id="KeyStore_1" name="CellDefaultKeyStore" password="{xor}123skfkdkid=" provider="IBMJCE" location="${USER_INSTALL_ROOT} /config/cells/myhostCell01/key.p12" type="PKCS12" fileBased="true" hostList="" initializeAtStartup="true" managementScope="ManagementScope_1"/> <keyStores xmi:id="KeyStore_2" name="CellDefaultTrustStore" password="{xor}123skfkdkid=" provider="IBMJCE" location="${USER_INSTALL_ROOT} /config/cells/myhostCell01/trust.p12" type="PKCS12" fileBased="true" hostList="" initializeAtStartup="true" managementScope="ManagementScope_1"/> <keyStores xmi:id="KeyStore_1128545825854" name="NodeDefaultKeyStore" password="{xor}349dkckdd=" provider="IBMJCE" location="${USER_INSTALL_ROOT}/config /cells/myhostCell01/nodes/myhostNode01/key.p12" type="PKCS12" fileBased="true" hostList="" initializeAtStartup="true" managementScope="ManagementScope_1128545825854"/> <keyStores xmi:id="KeyStore_1128545825874" name="NodeDefaultTrustStore" password="{xor}349dkckdd=" provider="IBMJCE" location="${USER_INSTALL_ROOT}/config /cells/myhostCell01/nodes/myhostNode01/trust.p12" type="PKCS12" fileBased="true" hostList="" initializeAtStartup="true" managementScope="ManagementScope_1128545825854"/>
デフォルト管理有効範囲
統合済みノードの管理有効範囲は、ノード固有です。 一般に、特定のノード有効範囲を持つ構成オブジェクトは、その有効範囲のみを参照できます。 WebSphere Application Server は有効範囲であるノード内のデフォルトの鍵ストアとトラストストアのみを使用します。
<managementScopes xmi:id="ManagementScope_1" scopeName="(cell):myhostCell01" scopeType="cell"/> <managementScopes xmi:id="ManagementScope_1128545825854" scopeName="(cell):myhostCell01: (node):myhostNode01" scopeType="node"/>
デフォルトのトラストストアの内容
統合後、CellDefaultTrustStore () 共通トラストストアには、デプロイメント・マネージャー署名者と統合済みノードの署名者という 2 人の署名者が存 在します。 次のサンプル・コードでは、デプロイメント・マネージャーとノード・ホストは同じです。
keytool -list -keystore c:¥WebSphere¥AppServer¥profile¥AppSrv01¥config¥cells ¥myhostCell01¥trust.p12 -storepass myhostCell01 -storetype PKCS12 -v 別名: default_signer 項目タイプ: trustedCertEntry 所有者: CN=myhost.austin.ibm.com, O=IBM, C=US 発行者: CN=myhost.austin.ibm.com, O=IBM, C=US 有効開始日: 10/5/05 3:34 PM until: 10/5/06 3:34 PM 証明書指紋: SHA1: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA ******************************************* ******************************************* 別名: default 項目タイプ: trustedCertEntry 所有者: CN=myhost.austin.ibm.com, O=IBM, C=US 発行者: CN=myhost.austin.ibm.com, O=IBM, C=US 有効開始日: 10/18/05 4:06 PM until: 10/18/06 4:06 PM 証明書指紋: SHA1: 33:6E:9E:10:65:04:CE:7A:6C:C3:B1:79:8B:9A:05:49:AC:E5:67:F3
keytool -list -keystore /QIBM/UserData/WebSphere/AppServer/V61/ND/profile/dmgr/config/cells /myhostCell01/trust.p12 -storepass myhostCell01 -storetype PKCS12 -v
別名: default_signer 項目タイプ: trustedCertEntry 所有者: CN=myhost.austin.ibm.com, O=IBM, C=US 発行者: CN=myhost.austin.ibm.com, O=IBM, C=US 有効開始日: 10/5/05 3:34 PM until: 10/5/06 3:34 PM 証明書指紋: SHA1: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA ******************************************* ******************************************* 別名: default 項目タイプ: trustedCertEntry 所有者: CN=myhost.austin.ibm.com, O=IBM, C=US 発行者: CN=myhost.austin.ibm.com, O=IBM, C=US 有効開始日: 10/18/05 4:06 PM until: 10/18/06 4:06 PM 証明書指紋: SHA1: 33:6E:9E:10:65:04:CE:7A:6C:C3:B1:79:8B:9A:05:49:AC:E5:67:F3
ノードがリモート・ホストから統合される場合、CN はリモート・ホストのホスト名を含みます。 このノード構成により、カスタム・トラスト・マネージャーは接続中に受信するリモート証明書を使用して、ホスト名の検証を実行できます。 カスタム・トラスト・マネージャー は、com.ibm.wsspi.ssl.TrustManagerExtendedInfo インターフェースをインプリメントして、 ランタイムからリモート・ホスト名へのアクセスを取得する必要があります。 詳しくは、例: カスタム SSL トラスト決定用のカスタム・トラスト・マネージャーの作成 を参照してください。