第10章 信頼済み証明書の設定
Red Hat build of Keycloak が外部サービスと通信する場合、または TLS 経由で着信接続を行う場合、信頼済みサーバーに接続していることを確認するために、リモート証明書を検証する必要があります。これは、中間者攻撃を防ぐために必要です。
これらのクライアントまたはサーバーの証明書、またはこれらの証明書に署名した CA を、トラストストアに配置する必要があります。その後、このトラストストアを、Red Hat build of Keycloak で使用するために設定します。
10.1. システムトラストストアの設定
既存の Java デフォルトトラストストア証明書は、常に信頼されます。追加の証明書が必要な場合 (JRE によって認識されない自己署名認証局または内部認証局がある場合など) は、それを conf/truststores
ディレクトリーまたはサブディレクトリーに追加することができます。証明書は、PEM ファイルか、拡張子が .p12
または .pfx
の PKCS12 ファイル内に含めます。PKCS12 の場合、証明書が暗号化されていない必要があります。つまり、パスワードは必要ありません。
別のパスが必要な場合は、--truststore-paths
オプションを使用して、PEM または PKCS12 ファイルが配置されている追加のファイルまたはディレクトリーを指定します。パスは、Red Hat build of Keycloak を起動した場所に対する相対パスであるため、代わりに絶対パスを使用することを推奨します。ディレクトリーが指定されている場合、そのディレクトリでトラストストアファイルが再帰的にスキャンされます。
該当するすべての証明書を追加すると、トラストストアは、javax.net.ssl
プロパティーを介してシステムのデフォルトのトラストストアとして、また Red Hat build of Keycloak 内部で使用するデフォルトのトラストストアとして使用されます。
以下に例を示します。
bin/kc.[sh|bat] start --truststore-paths=/opt/truststore/myTrustStore.pfx,/opt/other-truststore/myOtherTrustStore.pem
独自の javax.net.ssl
トラストストアシステムプロパティーを直接設定することも可能ですが、代わりに --truststore-paths
を使用することを推奨します。