トラスト・マネージャーの役割は、ピアによって送信される Secure Sockets Layer (SSL) 証明書の検証 です。これには、証明書の署名の検証と有効期限の検査があります。 Java Secure Socket Extension (JSSE) トラスト・マネージャーは、リモート・ピアが信頼できるかどうかを SSL ハンドシェーク中に判別します。
WebSphere Application Server には、SSL 接続中に複数のトラスト・マネージャーを呼び出す機能があります。 デフォルトのトラスト・マネージャーは、標準的な証明書の検証を行います。カスタム・トラスト・マネージャー・ プラグインは、ホスト名の検証などのカスタマイズした検証を実行します。 詳しくは、例: カスタム SSL トラスト決定用のカスタム・トラスト・マネージャーの作成 を参照してください。
トラスト・マネージャーをサーバー・サイドの SSL 構成内に構成する場合、 このサーバーは isClientTrusted メソッドを呼び出します。 トラスト・マネージャーをクライアント・サイドの SSL 構成内に構成する場合、 このクライアントは isServerTrusted メソッドを呼び出します。 ピア証明書チェーンは、これらのメソッドに渡されます。トラスト・マネージャーがピア情報を信頼しないと選択した場合は、例外を作成してハンドシェークを強制的に失敗させる場合があります。
オプションで、WebSphere Application Server は、追加情報をトラスト・マネージャーに渡すことができるように、 com.ibm.wsspi.ssl.TrustManagerExtendedInfo インターフェースを提供しています。 詳しくは、com.ibm.wsspi.ssl.TrustManagerExtendedInfo インターフェースを参照してください。
<trustManagers xmi:id="TrustManager_1132357815717" name="IbmX509" provider="IBMJSSE2" algorithm="IbmX509" managementScope="ManagementScope_1132357815717"/>トラスト・マネージャーは 署名者証明書を提供して、ハンドシェーク中に送信されるピア証明書を検証します。 SSL 構成のトラストストアに追加された署名者は、信頼できるものである必要があります。 署名者を信頼しないか、他人に自分のサーバーへの接続を許可したくない場合は、証明局 (CA) からデフォルトのルー ト証明書を除去することを検討してください。また、発信元を確認できない自己署名証明書がある場合は、これを除去することもできま す。
<trustManagers xmi:id="TrustManager_1132357815719" name="IbmPKIX" provider="IBMJSSE2" algorithm="IbmPKIX" trustManagerClass="" managementScope="ManagementScope_1132357815717"> <additionalTrustManagerAttrs xmi:id="DescriptiveProperty_1132357815717" name="com.ibm.security.enableCRLDP" value="true" type="boolean"/> <additionalTrustManagerAttrs xmi:id="DescriptiveProperty_1132357815718" name="com.ibm.jsse2.checkRevocation" value="true" type="boolean"/> </trustManagers>標準的な証明書の検証という役割に加え、IbmPKIX トラスト・マネージャーは証 明書取り消しリスト (CRL) 配布ポイントを含む証明書があるかを検査します。このプロセスは、拡張 CRL 検査 と呼ばれます。トラスト・マネージャーを選択する場 合、CRL 検査が使用可能になっていることを IBMCertPath および IBMJSSE2 プロバイダーが認識するように、関連付けられたプロパティーが Java システム・プロパティーとして 自動的設定されます。
<trustManagers xmi:id="TrustManager_1132357815718" name="CustomTrustManager" trustManagerClass="com.ibm.ws.ssl.core.CustomTrustManager" managementScope="ManagementScope_1132357815717"/>trustManagerClass 属性は javax.net.ssl.X509TrustManager インターフェースを実装する必要があり、オプションで com.ibm.wsspi.ssl.TrustManagerExtendedInfo インターフェースを実装できます。
com.ibm.ssl.skipDefaultTrustManagerWhenCustomDefined=trueこのプロパティーは、クライアントの ssl.client.props ファイル、またはサーバーの security.xml カスタム・プロパティー・ファイルの最上位にある、グローバル・プロパティーで設定できます。 デフォルトのトラスト・マネージャーを使用不可にする場合は、構成済みであってもデフォルトのトラスト・マネージャーをサーバーが呼び出すのを防ぐために、カスタム・トラスト・マネージャーを構成する必要があります。 デフォルトのトラスト・マネージャーを使用不可にすることは、一般的なやり方ではありません。 テスト環境ではまず、必ずデフォルトのトラスト・マネージャーを使用不可にしたシステムをテストしてください。 カスタム・トラスト・マネージャーのセットアップについて詳しくは、カスタム・トラスト・マネージャー構成の作成 を参照してください。