1.5. 一方向と双方向 SSL/TLS をアプリケーションに設定
1.5.1. アプリケーション用の自己署名証明書の自動作成
レガシーセキュリティーレルムを使用している場合は、JBoss EAP では開発の目的で自己署名証明書が自動的に生成されます。
例: 自己署名証明書の作成を示すサーバー−ログ
15:26:09,031 WARN [org.jboss.as.domain.management.security] (MSC service thread 1-7) WFLYDM0111: Keystore /path/to/jboss/standalone/configuration/application.keystore not found, it will be auto generated on first use with a self signed certificate for host localhost ... 15:26:10,076 WARN [org.jboss.as.domain.management.security] (MSC service thread 1-2) WFLYDM0113: Generated self signed certificate at /path/to/jboss/configuration/application.keystore. Please note that self signed certificates are not secure, and should only be used for testing purposes. Do not use this self signed certificate in production. SHA-1 fingerprint of the generated key is 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22:33 SHA-256 fingerprint of the generated key is 00:11:22:33:44:55:66:77:88:99:00:aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee ...
この証明書はテスト目的で作成され、アプリケーションが使用する HTTPS インターフェイスに割り当てられます。ファイルが HTTPS インターフェイスの初回アクセス時に存在しない場合は、証明書を含むキーストアが生成されます。
例: 自己署名証明書を使用したデフォルトの ApplicationRealm
<security-realm name="ApplicationRealm"> <server-identities> <ssl> <keystore path="application.keystore" relative-to="jboss.server.config.dir" keystore-password="password" alias="server" key-password="password" generate-self-signed-certificate-host="localhost"/> </ssl> </server-identities> ... </security-realm>
例: HTTPS インターフェイスのデフォルト設定
<subsystem xmlns="urn:jboss:domain:undertow:10.0"> ... <server name="default-server"> ... <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/> <host name="default-host" alias="localhost"> ...
自己署名証明書の作成を無効にする場合は、サーバーキーストア設定から generate-self-signed-certificate-host="localhost"
を削除する必要があります。generate-self-signed-certificate-host
属性は、自己署名証明書を生成するホスト名を保持します。
この自己署名証明書はテスト目的のみを目的とし、実稼働環境での使用を目的としていません。Elytron を使用したアプリケーションに SSL/TLS を設定する方法は、Elytron サブシステムを使用してアプリケーションに対して一方向 SSL/TLS を有効化する および Elytron サブシステムを使用してアプリケーションに対して双方向 SSL/TLS を有効化する セクションを参照してください。レガシーのセキュリティーを使用したアプリケーション向けに SSL/TLS を設定する方法は、レガシーセキュリティーレルムを使用してアプリケーションに対して一方向 SSL/TLS を有効化する および レガシーセキュリティーレルムを使用してアプリケーションに対して双方向 SSL/TLS を有効化する セクションを参照してください。
1.5.2. Elytron の使用
1.5.2.1. Elytron サブシステムを使用したアプリケーション用の一方向 SSL/TLS の有効化
JBoss EAP では、JBoss EAP 管理 CLI または管理コンソールを使用してデプロイされたアプリケーションの一方向 SSL/TLS を有効にできます。
管理 CLI では、一方向の SSL/TLS を以下の方法で有効にできます。
- セキュリティーコマンド の使用
-
elytron
サブシステムコマンド の使用
セキュリティーコマンドの使用
security enable-ssl-http-server
コマンドを使用すると、デプロイされたアプリケーションに一方向 SSL/TLS を有効にできます。
例: ウィザードの使用
security enable-ssl-http-server --interactive Please provide required pieces of information to enable SSL: Key-store file name (default default-server.keystore): keystore.jks Password (blank generated): secret What is your first and last name? [Unknown]: localhost What is the name of your organizational unit? [Unknown]: What is the name of your organization? [Unknown]: What is the name of your City or Locality? [Unknown]: What is the name of your State or Province? [Unknown]: What is the two-letter country code for this unit? [Unknown]: Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct y/n [y]? Validity (in days, blank default): 365 Alias (blank generated): localhost Enable SSL Mutual Authentication y/n (blank n): n SSL options: key store file: keystore.jks distinguished name: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown password: secret validity: 365 alias: localhost Server keystore file keystore.jks, certificate file keystore.pem and keystore.csr file will be generated in server configuration directory. Do you confirm y/n: y
コマンドを実行すると、管理 CLI がサーバーをリロードします。
一方向 SSL/TLS がアプリケーション用に有効化されました。
Elytron サブシステムコマンドの使用
JBoss EAP では、undertow
サブシステムとともに elytron
サブシステムを使用すると、デプロイされたアプリケーションに一方向 SSL/TLS を有効にすることができます。
JBoss EAP で
key-store
を設定します。/subsystem=elytron/key-store=httpsKS:add(path=/path/to/keystore.jks, credential-reference={clear-text=secret}, type=JKS)
キーストアファイルが存在しない場合は、以下のコマンドを使用してサンプルキーペアを生成できます。
/subsystem=elytron/key-store=httpsKS:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,credential-reference={clear-text=secret},distinguished-name="CN=localhost") /subsystem=elytron/key-store=httpsKS:store()
key- store
を参照するkey-manager
を設定します。/subsystem=elytron/key-manager=httpsKM:add(key-store=httpsKS,credential-reference={clear-text=secret})
重要Elytron サブシステムはデフォルトで
KeyManagerFactory.getDefaultAlgorithm()
を使用してアルゴリズムを決定するため、Red Hat は前のコマンドでアルゴリズム属性を指定しませんでした。ただし、アルゴリズム属性は指定できます。アルゴリズム属性を指定するには、使用している JDK によるキーマネージャーアルゴリズムを知る必要があります。たとえば、SunJSSE を使用する JDK は、PKIX
およびSunX509
アルゴリズムを提供します。前のコマンドでは、
SunX509
をキーマネージャーアルゴリズム属性として指定できます。key-manager
を参照するserver-ssl-context
を設定します。/subsystem=elytron/server-ssl-context=httpsSSC:add(key-manager=httpsKM, protocols=["TLSv1.2"])
重要利用できるようにする必要のある SSL/TLS プロトコルを決定する必要があります。上記のコマンド例は
TLSv1.2
を使用します。cipher-suite-filter
引数を使用して、許可される暗号スイートを指定でき、use-cipher-suites-order
引用して、サーバーの暗号スイートの順序を許可します。use-cipher-suites-order
属性はデフォルトでtrue
に設定されます。これは、レガシーsecurity
サブシステムの動作とは異なります。その動作は、デフォルトで、クライアント暗号スイートの順序を許可します。警告Red Hat では、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSLv2、SSLv3、および TLSv1.0 を明示的に無効化することを推奨しています。
https-listener
が SSL 設定でレガシーセキュリティーレルムを使用するように設定されているかどうかを確認します。/subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm) { "outcome" => "success", "result" => "ApplicationRealm" }
上記のコマンドは、
https-listener
が SSL 設定のApplicationRealm
レガシーセキュリティーレルムを使用するように設定されていることを示しています。undertow は、レガシーセキュリティーレルムと Elytron のssl-context
を同時に参照できないため、レガシーセキュリティーレルムへの参照を削除する必要があります。注記結果が
undefined
である場合は、次の手順でセキュリティーレルムへの参照を削除する必要はありません。レガシーセキュリティーレルムへの参照を削除し、
https-listener
を Elytron のssl-context
を使用するように更新します。注記https-listener
には、常にsecurity-realm
またはssl-context
が設定されている必要があります。2 つの設定間で変更する場合は、以下に示すように、コマンドを単一のバッチで実行する必要があります。batch /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=httpsSSC) run-batch
サーバーをリロードします。
reload
一方向 SSL/TLS がアプリケーション用に有効化されました。
disable-ssl-http-server
コマンドを使用すると、デプロイされたアプリケーションの一方向 SSL/TLS を無効にできます。
security disable-ssl-http-server
このコマンドでは、Elytron リソースは削除されません。SSL 設定に ApplicationRealm
レガシーセキュリティーレルムを使用するようにシステムを設定します。
管理コンソールの使用
管理コンソールで SSL ウィザードを使用すると、undertow
サブシステムを設定することでアプリケーションに SSL を有効にできます。
ウィザードにアクセスするには、以下の手順に従います。
- 管理コンソールにアクセスします。詳細は、JBoss EAP設定ガイド の 管理コンソール を参照してください。
-
Configuration
Subsystems Web (Undertow) Server と選択します。 - 設定するサーバー名をクリックします。
- 表示 をクリックします。
-
Listener
HTTPS Listener に移動します。 SSL を有効にするリスナーを選択し、SSL の有効化 をクリックしてウィザードを起動します。
このウィザードでは、以下のシナリオで、SSL を有効にする方法を順を追ってガイドします。
- 証明書ストアを作成し、自己署名証明書を生成する。
- Let's Encrypt 認証局から証明書を取得したい。
- 証明書ストアはすでにファイルシステムにあるが、キーストアの設定がない。
- 有効な証明書ストアを使用するキーストアの設定が存在する。
ウィザードを使用すると、任意で相互認証のトラストストアを作成できます。
1.5.2.2. Elytron サブシステムを使用してアプリケーションに対して双方向 SSL/TLS を有効化する
クライアントキーストアを取得または生成します。
$ keytool -genkeypair -alias client -keyalg RSA -keysize 1024 -validity 365 -keystore client.keystore.jks -dname "CN=client" -keypass secret -storepass secret
クライアント証明書をエクスポートします。
keytool -exportcert -keystore client.keystore.jks -alias client -keypass secret -storepass secret -file /path/to/client.cer
デプロイしたアプリケーションに対して双方向 SSL/TLS を有効にします。
JBoss EAP では、デプロイされたアプリケーション用の双方向 SSL/TLS は、security コマンドまたは
elytron
サブシステムコマンドを使用して有効にできます。セキュリティーコマンドの使用
security enable-ssl-http-server
コマンドを使用すると、デプロイされたアプリケーションに双方向 SSL/TLS を有効にできます。注記以下の例では、信頼チェーンが存在しないので、証明書は検証されません。信頼された証明書を使用している場合、クライアントの証明書は問題なく検証できます。
例: ウィザードの使用
security enable-ssl-http-server --interactive Please provide required pieces of information to enable SSL: Key-store file name (default default-server.keystore): server.keystore.jks Password (blank generated): secret What is your first and last name? [Unknown]: localhost What is the name of your organizational unit? [Unknown]: What is the name of your organization? [Unknown]: What is the name of your City or Locality? [Unknown]: What is the name of your State or Province? [Unknown]: What is the two-letter country code for this unit? [Unknown]: Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct y/n [y]? Validity (in days, blank default): 365 Alias (blank generated): localhost Enable SSL Mutual Authentication y/n (blank n): y Client certificate (path to pem file): /path/to/client.cer Validate certificate y/n (blank y): n Trust-store file name (management.truststore): server.truststore.jks Password (blank generated): secret SSL options: key store file: server.keystore.jks distinguished name: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown password: secret validity: 365 alias: localhost client certificate: /path/to/client.cer trust store file: server.trustore.jks trust store password: secret Server keystore file server.keystore.jks, certificate file server.pem and server.csr file will be generated in server configuration directory. Server truststore file server.trustore.jks will be generated in server configuration directory. Do you confirm y/n: y
注記コマンドを実行すると、管理 CLI がサーバーをリロードします。
双方向 SSL/TLS 認証を完了するには、サーバーの証明書をクライアントトラストストアにインポートし、クライアント証明書を表示するようにクライアントを設定する必要があります。
elytron サブシステムコマンドの使用
JBoss EAP では、
undertow
サブシステムとともにelytron
サブシステムを使用してデプロイされたアプリケーションで双方向 SSL/TLS を有効にすることもできます。キーストアを取得または生成します。
JBoss EAP で双方向 SSL/TLS を有効化する前に、使用する予定のキーストア、トラストストア、および証明書を取得または生成する必要があります。
サーバーキーストアを作成します。
/subsystem=elytron/key-store=twoWayKS:add(path=/PATH/TO/server.keystore.jks,credential-reference={clear-text=secret},type=JKS) /subsystem=elytron/key-store=twoWayKS:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,credential-reference={clear-text=secret},distinguished-name="CN=localhost") /subsystem=elytron/key-store=twoWayKS:store()
注記上記のコマンドはキーストアへの絶対パスを使用します。または、
relative-to
属性を使用してベースディレクトリー変数を指定し、path
は相対パスを指定します。/subsystem=elytron/key-store=twoWayKS:add(path=server.keystore.jks,relative-to=jboss.server.config.dir,credential-reference={clear-text=secret},type=JKS)
サーバー証明書をエクスポートします。
/subsystem=elytron/key-store=twoWayKS:export-certificate(alias=localhost,path=/path/to/server.cer,pem=true)
サーバートラストストアのキーストアを作成し、クライアント証明書をサーバートラストストアにインポートします。
注記以下の例では、信頼チェーンが存在しないので、証明書は検証されません。信頼された証明書を使用している場合、クライアントの証明書は問題なく検証できます。
/subsystem=elytron/key-store=twoWayTS:add(path=/path/to/server.truststore.jks,credential-reference={clear-text=secret},type=JKS) /subsystem=elytron/key-store=twoWayTS:import-certificate(alias=client,path=/path/to/client.cer,credential-reference={clear-text=secret},trust-cacerts=true,validate=false) /subsystem=elytron/key-store=twoWayTS:store()
キーストア
key-store
を参照するkey-manager
を設定します。/subsystem=elytron/key-manager=twoWayKM:add(key-store=twoWayKS, credential-reference={clear-text=secret})
重要Elytron サブシステムはデフォルトで
KeyManagerFactory.getDefaultAlgorithm()
を使用してアルゴリズムを決定するため、Red Hat は前のコマンドでアルゴリズム属性を指定しませんでした。ただし、アルゴリズム属性は指定できます。アルゴリズム属性を指定するには、使用している JDK によるキーマネージャーアルゴリズムを知る必要があります。たとえば、Sun valueFrom を使用する JDK では 、
PKIX
アルゴリズムおよび SunX509
アルゴリズムを利用できます。前のコマンドでは、
SunX509
をキーマネージャーアルゴリズム属性として指定できます。トラストストア
key-store
を参照するtrust-manager
を設定します。/subsystem=elytron/trust-manager=twoWayTM:add(key-store=twoWayTS)
重要Elytron サブシステムはデフォルトで
TrustManagerFactory.getDefaultAlgorithm()
を使用してアルゴリズムを決定するため、Red Hat は前のコマンドでアルゴリズム属性を指定しませんでした。ただし、アルゴリズム属性は指定できます。アルゴリズム属性を指定するには、使用している JDK によるトラストマネージャーアルゴリズムを知る必要があります。たとえば、Sun valueFrom を使用する JDK では 、PKIX
アルゴリズムおよび SunX509
アルゴリズムを利用できます。前のコマンドでは、
PKIX
をトラストマネージャーのアルゴリズム属性として指定できます。key-manager
、trust-manager
、を参照するserver-ssl-context
を設定し、クライアント認証を有効化します。/subsystem=elytron/server-ssl-context=twoWaySSC:add(key-manager=twoWayKM, protocols=["TLSv1.2"], trust-manager=twoWayTM, need-client-auth=true)
重要利用できるようにする必要のある SSL/TLS プロトコルを決定する必要があります。上記のコマンド例は
TLSv1.2
を使用します。cipher-suite-filter
引数を使用して、許可される暗号スイートを指定でき、use-cipher-suites-order
引用して、サーバーの暗号スイートの順序を許可します。use-cipher-suites-order
属性はデフォルトでtrue
に設定されます。これは、レガシーsecurity
サブシステムの動作とは異なります。その動作は、デフォルトで、クライアント暗号スイートの順序を許可します。警告Red Hat では、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSLv2、SSLv3、および TLSv1.0 を明示的に無効化することを推奨しています。
https-listener
が SSL 設定でレガシーセキュリティーレルムを使用するように設定されているかどうかを確認します。/subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm) { "outcome" => "success", "result" => "ApplicationRealm" }
上記のコマンドは、
https-listener
が SSL 設定のApplicationRealm
レガシーセキュリティーレルムを使用するように設定されていることを示しています。Undertow は、elytron
サブシステムではレガシーセキュリティーレルムとssl-context
を同時に参照できません。したがって、レガシーセキュリティーレルムへの参照を削除する必要があります。注記結果が
undefined
である場合は、次の手順でセキュリティーレルムへの参照を削除する必要はありません。レガシーセキュリティーレルムへの参照を削除し、
https-listener
を Elytron のssl-context
を使用するように更新します。注記https-listener
には、常にsecurity-realm
またはssl-context
が設定されている必要があります。2 つの設定間で変更する場合は、以下に示すように、コマンドを単一のバッチで実行する必要があります。batch /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=twoWaySSC) run-batch
サーバーをリロードします。
reload
注記双方向 SSL/TLS 認証を完了するには、サーバーの証明書をクライアントトラストストアにインポートし、クライアント証明書を表示するようにクライアントを設定する必要があります。
$ keytool -importcert -keystore client.truststore.jks -storepass secret -alias localhost -trustcacerts -file /path/to/server.cer
クライアント証明書を使用するようにクライアントを設定します。
双方向 SSL / TLS 認証を完了するには、信頼されたクライアント証明書をサーバーに提示するようにクライアントを設定する必要があります。たとえば、ブラウザーを使用している場合は、信頼された証明書をブラウザーの信頼ストアにインポートする必要があります。
この手順では、双方向 SSL/TLS を強制しますが、アプリケーションの元の認証方法は変更されません。
元の認証方法を変更する場合は、JBoss EAP アイデンティティー管理の設定方法 の 証明書による認証設定 を参照してください。
双方向 SSL/TLS がアプリケーション用に有効化されました。
disable-ssl-http-server
コマンドを使用すると、デプロイされたアプリケーションの双方向 SSL/TLS を無効にできます。
security disable-ssl-http-server
このコマンドでは、Elytron リソースは削除されません。SSL 設定に ApplicationRealm
レガシーセキュリティーレルムを使用するようにシステムを設定します。
1.5.3. Elytron で CRL を使用した証明書失効リストの設定
Elytron で証明書失効に証明書失効リスト (CRL) を使用するように、双方向 SSL/TLS の有効化に使用されるトラストマネージャーを設定します。
前提条件
- トラストマネージャーは双方向 SSL/TLS を使用するよう設定されます。
- トラストマネージャーには、失効するためにチェックされる証明書チェーンが含まれます。
手順
トラストマネージャーが、証明書で参照されるディストリビューションポイントから取得した CRL を使用するように設定します。
/subsystem=elytron/trust-manager=twoWayTM:write-attribute(name=certificate-revocation-list,value={})
証明書で参照されているディストリビューションポイントから取得した CRL を上書きします。
/subsystem=elytron/trust-manager=twoWayTM:write-attribute(name=certificate-revocation-list.path, value=intermediate.crl.pem)
証明書失効に CRL を使用するように
trust-manager
を設定します。OCSP レスポンダーが証明書失効リストに対しても設定されている場合、証明書失効に CRL を使用するようトラストマネージャーに、値が
true
のocsp.prefer-
CRL 属性も追加します。/subsystem=elytron/trust-manager=twoWayTM:write-attribute(name=ocsp.prefer-crls,value="true")
- OCSP レスポンダーが証明書失効リストに対して設定されていない場合、設定は完了します。
追加情報
- CRL 属性の完全なリストは、trust-manager Attributes を参照してください。
1.5.4. Elyton で OCSP を使用した認証失効の設定
双方向 SSL/TLS が、証明書失効リストに Online Certificate Status Protocol (OCSP) レスポンダーを使用するようにするのに使用されるトラストマネージャーを設定します。OCSP は RFC6960 で定義されてい ます。
OCSP レスポンダーと CRL が証明書失効に対して設定されている場合、OCSP レスポンダーはデフォルトで呼び出されます。
前提条件
- トラストマネージャーは双方向 SSL/TLS を使用するよう設定されます。
手順
証明書失効に、証明書に定義された OCSP レスポンダーを使用するようにトラストマネージャーを設定します。
/subsystem=elytron/trust-manager=twoWayTM:write-attribute(name=ocsp,value={})
証明書で定義された OCSP レスポンダーを上書きします。
/subsystem=elytron/trust-manager=twoWayTM:write-attribute(name=ocsp.responder,value="http://example.com/ocsp-responder")
追加情報
- 属性の完全なリストは、online-certificate-status 属性 を参照してください。
1.5.5. レガシーセキュリティーレルムの使用
前提条件として、SSL/TLS 暗号化キーと証明書を作成し、アクセス可能なディレクトリーに配置する必要があります。さらに、キーストアエイリアスやパスワード、必要な暗号スイートなどの関連情報もアクセスできる必要があります。SSL/TLS キーおよび証明書の生成例は、方向 SSL/TLS の設定 セクションにある最初の手順を参照してください。暗号化スイートを含む HTTPS リスナーの詳細は、HTTPS リスナーの参照 を参照してください。
1.5.5.1. レガシーセキュリティーレルムを使用したアプリケーション用の一方向 SSL/TLS の有効化
この例では、キーストアの identity.jks
がサーバー設定ディレクトリーにコピーされ、指定のプロパティーで設定されたことを仮定します。管理者は、example の独自の値を置き換えてください。
ここで使用する管理 CLI コマンドは、JBoss EAP スタンドアロンサーバーを実行していることを仮定しています。JBoss EAP 管理対象ドメインの管理 CLI を使用する場合の詳細は 管理 CLI ガイド を参照してください。
最初に HTTPS セキュリティーレルムを追加し、設定します。HTTPS セキュリティーレルムが設定されたら、セキュリティーレルムを参照する
undertow
サブシステムでhttps-listener
を設定します。batch /core-service=management/security-realm=HTTPSRealm:add /core-service=management/security-realm=HTTPSRealm/server-identity=ssl:add(keystore-path=identity.jks, keystore-relative-to=jboss.server.config.dir, keystore-password=password1, alias=appserver) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=security-realm, value=HTTPSRealm) run-batch
警告Red Hat では、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSLv2、SSLv3、および TLSv1.0 を明示的に無効化することを推奨しています。
- JBoss EAP サーバーを再起動し、変更を反映します。
1.5.5.2. レガシーセキュリティーレルムを使用したアプリケーションの双方向 SSL/TLS の有効化
アプリケーションに双方向 SSL/TLS を設定する場合は、Setting up Two-way SSL/TLS for the Management Interfaces で説明されている手順の多くに従います。アプリケーションに双方向 SSL/TLS を設定するには、以下を行う必要があります。
- クライアントとサーバー両方のストアを生成します。
- クライアントとサーバー両方の証明書をエクスポートします。
- opposing トラストストアに証明書をインポートします。
-
サーバーのキーストアおよびトラストストアを使用するサーバーで、
CertificateRealm
などのセキュリティーレルムを定義します。 -
セキュリティーレルムを使用し、クライアント検証が必須となるように
undertow
サブシステムを更新します。
最初の 4 つの手順は、Setting up Two-way SSL/TLS for the Management Interfaces で説明されています。
新しいセキュリティーレルムが追加されても、サーバーがリロードされていない場合は、サーバーをリロードしてから次の手順を実行する必要があります。
Undertow サブシステムの調整
キーストア、証明書、トラストストア、およびセキュリティーレルムが作成され、設定されると、undertow
サブシステムに HTTPS リスナーを追加し、作成したセキュリティーレルムを使用する必要があり、クライアントの検証が必須になります。
/subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=security-realm, value=CertificateRealm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=verify-client, value=REQUIRED)
変更を反映するには、サーバーをリロードする必要があります。
アプリケーションに双方向 SSL/TLS を有効化した JBoss EAP インスタンスに接続するクライアントは、クライアント証明書またはキーストアにアクセスできなければなりません。つまり、クライアントのキーストアに証明書が含まれるクライアントキーストアが必要になります。クライアントがブラウザーを使用して JBoss EAP インスタンスに接続している場合は、その証明書またはキーストアをブラウザーの証明書マネージャーにインポートする必要があります。
アプリケーションでの双方向 SSL/TLS に加えて、アプリケーションで証明書ベースの認証を使用する方法の詳細は、JBoss EAP アイデンティティー管理の設定方法 の 証明書ベースの認証を使用するためのセキュリティドメインの設定 セクションを参照してください。