6.2.2. クライアント側証明書の設定


双方向 TLS は、一方向 TLS と同じ sslEnabledkeyStorePath、および keyStorePassword プロパティーを使用しますが、needClientAuth を追加して、独自の証明書を提示する必要があることをクライアントに指示します。以下に例を示します。

<acceptor name="artemis">tcp://0.0.0.0:61616?sslEnabled=true;keyStorePath=../etc/broker.keystore;keyStorePassword=1234!;needClientAuth=true</acceptor>

この設定は、クライアントの証明書が信頼できるプロバイダーによって署名されていることを前提としています。クライアントの証明書が信頼できるプロバイダーによって署名されていない場合 (自己署名など)、サーバーはクライアントの証明書をトラストストアにインポートし、trustStorePathtrustStorePassword を使用してアクセプターを設定する必要があります。以下に例を示します。

<acceptor name="artemis">tcp://0.0.0.0:61616?sslEnabled=true;keyStorePath=../etc/broker.keystore;keyStorePassword=1234!;needClientAuth=true;trustStorePath=../etc/client.truststore;trustStorePassword=5678!</acceptor>
注記

クライアント側の考慮事項

AMQ Broker は複数のプロトコルをサポートし、各プロトコルとプラットフォームには TLS パラメーターを指定する方法が異なります。ただし、Core protocol (ブリッジ) を使用するクライアントの場合、TLS パラメーターはブローカーのアクセプターと同様にコネクター URL で設定されます。

DNS 設定の詳細

以下は、注意が必要な設定の詳細です。

オプション備考

sslEnabled

TLS を有効にするには true にする必要があります。デフォルトは false です。

keyStorePath

acceptorで使用される場合は、サーバーの証明書を保持するサーバーの SSL キーストアへのパスです ( 自己署名または認証局によって署名されているかどうか )。

connectorで使用される場合は、これはクライアント証明書を保持するクライアント側の TLS キーストアへのパスです。双方向 TLS (つまり相互認証) を使用している場合は、これは connector にのみ該当します。この値はサーバー上で設定されますが、ダウンロードしてクライアントで使用します。クライアントでサーバーの設定と異なるパスを使用する必要がある場合は、カスタムのjavax.net.ssl.keyStore システムプロパティーまたは ActiveMQ 固有の org.apache.activemq.ssl.keyStore システムプロパティーのいずれかを使用してサーバー側の設定をオーバーライドできます。AMQ 固有のシステムプロパティーは、クライアント上の別のコンポーネントがすでに標準の Java システムプロパティーを使用している場合に役立ちます。

keyStorePassword

acceptorで使用されると、サーバー側のキーストアのパスワードになります。

connector で使用されると、クライアント側のキーストアのパスワードになります。双方向 TLS (つまり相互認証) を使用している場合は、これは connector にのみ該当します。この値はサーバー上で設定可能ですが、ダウンロードしてクライアントで使用します。クライアントでサーバーの設定と異なるパスワードを使用する必要がある場合は、カスタムの javax.net.ssl.keyStorePassword システムプロパティーまたは ActiveMQ 固有の org.apache.activemq.ssl.keyStorePassword システムプロパティーを使用してサーバー側の設定をオーバーライドできます。AMQ 固有のシステムプロパティーは、クライアント上の別のコンポーネントがすでに標準の Java システムプロパティーを使用している場合に役立ちます。

trustStorePath

acceptorで使用される場合、これはサーバーが信頼するすべてのクライアントのキーを保持するサーバー側の TLS キーストアへのパスとなります。これは、双方向 TLS (相互認証) を使用している場合は、acceptor のみに該当します。

connectorで使用される場合は、クライアント側の TLS キーストアへのパスとなります。これは、クライアントが信頼するすべてのサーバーの公開鍵を保持します。この値はサーバー上で設定可能ですが、ダウンロードしてクライアントで使用します。クライアントでサーバーの設定と異なるパスを使用する必要がある場合は、カスタムの javax.net.ssl.trustStore システムプロパティーまたは ActiveMQ 固有の org.apache.activemq.ssl.trustStore システムプロパティーのいずれかを使用してサーバー側の設定をオーバーライドできます。AMQ 固有のシステムプロパティーは、クライアント上の別のコンポーネントがすでに標準の Java システムプロパティーを使用している場合に役立ちます。

trustStorePassword

acceptor で使用されると、サーバー側のトラストストアのパスワードになります。双方向 TLS (つまり相互認証) を使用している場合、acceptor のみに該当します。

connector で使用されると、クライアント側のトラストストアのパスワードになります。この値はサーバー上で設定可能ですが、ダウンロードしてクライアントで使用します。クライアントがサーバーで設定されているものとは異なるパスワードを使用する必要がある場合は、通常の javax.net.ssl.trustStorePassword システムプロパティーまたは ActiveMQ 固有の org.apache.activemq.ssl.trustStorePassword システムプロパティーを使用して、サーバー側の設定を上書きできます。AMQ 固有のシステムプロパティーは、クライアント上の別のコンポーネントがすでに標準の Java システムプロパティーを使用している場合に役立ちます。

enabledCipherSuites

acceptor または connector で使用されるかに関係なく、TLS 通信に使用される暗号スイートのコンマ区切りリストになります。デフォルト値は null です (JVM のデフォルト値を使用)。

enabledProtocols

acceptor または connector で使用されるかに関係なく、TLS 通信に使用されるプロトコルのコンマ区切りリストになります。デフォルト値は null です (JVM のデフォルト値を使用)。

needClientAuth

このプロパティーは acceptor 専用です。このアクセプターに接続するクライアントに対して、双方向 TLS が必要であることを示します。有効な値は true または false です。デフォルトは false です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.