[AIX、Linux、Windows]

Online Certificate Status Protocol (OCSP) の使用

IBM® MQ は、使用する Online Certificate Status Protocol (OCSP) 応答側を判別し、受信した応答を処理します。 OCSP 応答側をアクセス可能にするための手順を実行しなければならない場合があります。

認証情報オブジェクトには、TLS 証明書が取り消されたかどうかを確認するときに使用される認証情報が含まれます。
注: この情報は、 IBM MQ for AIX®, Linux®, and Windows システムにのみ適用されます。 以下の表は、さまざまなプラットフォームでの IBM MQ TLS 認証情報のサポートを示しています。
表 1. IBM MQ TLS がさまざまなプラットフォームで認証情報をサポートする方法
プラットフォーム サポート
[AIX、Linux、Windows]IBM MQ for AIX, Linux, and Windows IBM MQ TLS サポートにより、OCSP を使用して、または LDAP サーバー上の CRL と ARL を使用して、取り消された証明書がないか検査されます。優先される方式は OCSP です。 IBM MQ classes for Java は、クライアント・チャネル定義テーブル・ファイル内の OCSP 情報を使用できません。 ただし、 IBM Documentationの「 失効した証明書および OCSP 」の説明に従って OCSP を構成することができます。
[z/OS]IBM MQ for z/OS® IBM MQ TLS サポートは、LDAP サーバー上の CRL および ARL のみを使用して、取り消された証明書がないか検査します。 IBM MQ for z/OS システムは OCSP を使用できません。
[IBM i]IBM MQ for IBM i IBM MQ TLS サポートは、LDAP サーバー上の CRL および ARL のみを使用して、取り消された証明書がないか検査します。 IBM MQ for IBM i システムは OCSP を使用できません。
IBM MQ は、OCSP を使用してデジタル証明書の失効状況を検査するために、以下の 2 つの方法のいずれかで、どの OCSP レスポンダーに接続するかを決定します。
  • 検査される証明書で AuthorityInfoAccess (AIA) 証明書拡張を使用する。
  • 認証情報オブジェクトに指定された URL、またはクライアント・アプリケーションによって指定された URL を使用する。

認証情報オブジェクトに指定された URL、またはクライアント・アプリケーションによって指定された URL は、AIA 証明書拡張内の URL に優先します。

OCSP 応答側の URL は、ファイアウォールの向こう側にある場合があります。その場合、ファイアウォールを再構成して、OCSP 応答側にアクセスできるようにするか、OCSP プロキシー・サーバーをセットアップします。 SSL スタンザの SSLHTTPProxyName 属性を使用して、プロキシー・サーバーの名前を指定します。 クライアント・システムでは、環境変数 MQSSLPROXYを使用してプロキシー・サーバーの名前を指定することもできます。

テスト環境で実行しているなどの理由で TLS 証明書が取り消されてもかまわない場合は、SSL スタンザで OCSPCheckExtensionsNO に設定できます。 この変数を設定すると、AIA 証明書拡張が無視されます。 この解決方法は、実稼働環境では、ほとんどの場合に不適切です。実稼働環境では、失効した証明書を提示するユーザーからのアクセスは許可できないからです。

OCSP 応答側にアクセスするための呼び出しは、次の 3 つの結果のいずれかを返します。
良好
証明書は有効です。
失効
証明書は取り消されています。
不明
この結果になるのは、次の 3 つのうちのいずれかが原因です。
  • IBM MQ が OCSP レスポンダーにアクセスできません。
  • OCSP レスポンダーが応答を送信しましたが、 IBM MQ は応答のデジタル署名を検証できません。
  • OCSP 応答側が、その証明書に関する取り消しデータを保持していないことを示す応答を送信した。

デフォルトでは、 IBM MQUnknownという OCSP 応答を受信すると接続を拒否し、エラー・メッセージを発行します。 この動作は、 OCSPAuthentication 属性を設定することで変更できます。 これは、 AIX and Linux システムの場合は qm.ini ファイルの SSL スタンザ、 Windows レジストリー、またはクライアント構成ファイルの SSL スタンザに保持されます。 これは、該当するプラットフォームで IBM MQ Explorer を使用して設定できます。

OCSP 結果「不明

IBM MQUnknownという OCSP 結果を受け取った場合の動作は、 OCSPAuthentication 属性の設定によって異なります。 キュー・マネージャーの場合、この属性は qm.ini ファイル ( AIX and Linux システムの場合) または Windows レジストリーの SSL スタンザに保持され、 IBM MQ Explorerを使用して設定できます。 クライアントでは、これはクライアント構成ファイルの SSL スタンザに保持されます。

Unknown という結果を受け取り、 OCSPAuthenticationREQUIRED (デフォルト値) に設定されている場合、 IBM MQ は接続を拒否し、タイプ AMQ9716のエラー・メッセージを発行します。 キュー・マネージャーの SSL イベント・メッセージが有効になっている場合は、以下のタイプの SSL イベント・メッセージMQRC_CHANNEL_SSL_ERRORReasonQualifier を次のように設定MQRQ_SSL_HANDSHAKE_ERROR生成されます。

Unknown という結果を受け取り、 OCSPAuthenticationOPTIONALに設定されている場合、 IBM MQ は SSL チャネルの開始を許可し、警告や SSL イベント・メッセージは生成されません。

Unknown という結果を受け取り、 OCSPAuthenticationWARNに設定されている場合、SSL チャネルは開始されますが、 IBM MQ はエラー・ログにタイプ AMQ9717 の警告メッセージを発行します。 キュー・マネージャーの SSL イベント・メッセージが有効になっている場合は、以下のタイプの SSL イベント・メッセージMQRC_CHANNEL_SSL_WARNINGReasonQualifier を次のように設定MQRQ_SSL_UNKNOWN_REVOCATION生成されます。

OCSP 応答のデジタル署名

OCSP 応答側は、3 つ方法のいずれかでその応答に署名することができます。 応答側からは、使用する方法が通知されます。
  • OCSP 応答に、検査中の証明書を発行した同一の CA 証明書を使用してデジタル署名を付加できます。 この場合、追加の証明書をセットアップする必要はありません。SSL 接続を確立するために既に実行したステップで OCSP 応答を検証できます。
  • OCSP 応答に、検査中の証明書を発行した同一の CA で署名された別の証明書を使用してデジタル署名を付加できます。 この場合、OCSP 応答と一緒に署名証明書が送信されます。 そのため、OCSP 応答側から送信される証明書では、信頼されるように、ExtendedKeyUsage 拡張が id-kp-OCSPSigning に設定されていなければなりません。 OCSP 応答は、署名された証明書と一緒に送信される (さらに、SSL 接続のために既に信頼されている CA によって証明書が署名されている) ため、追加の証明書のセットアップは必要ありません。
  • OCSP 応答に、検査中の証明書に直接関係のない別の証明書を使用して、デジタル署名を付加できます。 この場合、OCSP 応答は OCSP 応答側自体によって発行された証明書によって署名されます。 OCSP 検査を実行するクライアントまたはキュー・マネージャーの鍵データベースに、OCSP 応答側証明書のコピーを追加する必要があります。 IBM Documentationの「 鍵リポジトリーへの CA 証明書 (または自己署名証明書の CA 部分) の追加 」を参照してください。 CA 証明書が追加される場合、デフォルトで、このコンテキストで必要な設定であるトラステッド・ルートとして追加されます。 この証明書が追加されていない場合、 IBM MQ は OCSP 応答でデジタル署名を検証できず、OCSP チェックの結果が 「不明」 になります。OCSPAuthentication の値によっては、 IBM MQ がチャネルを閉じる可能性があります。