2.5. 配置 server-ssl-context 以使用 SSL/TLS 保护在 JBoss EAP 上部署的应用程序
Elytron 提供名为 applicationSSC 的默认 server-ssl-context,可用于配置 SSL/TLS。另外,您可以在 Elytron 中创建自己的 SSL 上下文。以下流程演示了使用默认的 SSL 上下文 - applicationSSC 来为应用程序配置 SSL/TLS。
先决条件
- JBoss EAP 正在运行。
您已为客户端证书配置了服务器信任存储和信任管理器。
如需更多信息,请参阅为客户端证书配置信任存储和信任管理器。
您已配置了服务器证书。
如需更多信息,请参阅为 SSL/TLS 配置服务器证书
流程
配置默认服务器 SSL 上下文以启用双向 SSL。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,SSL 上下文使用 TLSv1.2。您可以将 protocol 属性
配置为使用TLSv1.3,如下所示:/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=protocols,value=[TLSv1.3])
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=protocols,value=[TLSv1.3])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为服务器 SSL 上下文配置信任管理器。
语法
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=trust-manager,value=<server_trust_manager>)
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=trust-manager,value=<server_trust_manager>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置服务器 SSL 上下文的密钥管理器。
语法
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=key-manager,value=<key_manager_name>)
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=key-manager,value=<key_manager_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载服务器。
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证您可以访问 JBoss EAP 欢迎页面。
使用 CLI 验证:
语法
curl --verbose --location --cacert <server_certificate> --cert <client_keystore>:<password> --cert-type P12 https://localhost:8443
$ curl --verbose --location --cacert <server_certificate> --cert <client_keystore>:<password> --cert-type P12 https://localhost:8443Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
curl --verbose --location --cacert server.cer --cert exampleclient.keystore.pkcs12:secret --cert-type P12 https://localhost:8443 ... <h3>Your Red Hat JBoss Enterprise Application Platform is running.</h3> ...
$ curl --verbose --location --cacert server.cer --cert exampleclient.keystore.pkcs12:secret --cert-type P12 https://localhost:8443 ... <h3>Your Red Hat JBoss Enterprise Application Platform is running.</h3> ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用浏览器进行验证。
将客户端证书导入到您的浏览器中。生成客户端证书过程中创建的示例证书 称为
exampleclient.keystore.pkcs12,以及用于导入它的示例密码是secret。有关将证书导入到浏览器的信息,请参阅浏览器的文档。
在浏览器中打开
https://localhost:8443。浏览器提示您显示与服务器相关的证书。
选择您导入到浏览器的证书。例如:
exampleclient.keystore.pkcs12。如果您使用自签名证书,浏览器会显示一个警告,表示服务器出示的证书未知。
检查证书,并验证浏览器中显示的指纹是否与密钥存储中的证书的指纹匹配。您可以使用以下命令在密钥存储中查看证书:
语法
/subsystem=elytron/key-store=<server_keystore_name>:read-alias(alias=<alias>)
/subsystem=elytron/key-store=<server_keystore_name>:read-alias(alias=<alias>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
/subsystem=elytron/key-store=exampleServerKeyStore:read-alias(alias=localhost) ... "sha-1-digest" => "5e:3e:ad:c8:df:d7:f6:63:38:05:e2:a3:a7:31:07:82:c8:c8:94:47", "sha-256-digest" => "11:b6:8f:00:42:e1:7f:6c:16:ef:db:08:5e:13:d9:b8:16:6e:a0:3c:2e:d4:e5:fd:cb:53:90:88:d2:9c:b1:99",
/subsystem=elytron/key-store=exampleServerKeyStore:read-alias(alias=localhost) ... "sha-1-digest" => "5e:3e:ad:c8:df:d7:f6:63:38:05:e2:a3:a7:31:07:82:c8:c8:94:47", "sha-256-digest" => "11:b6:8f:00:42:e1:7f:6c:16:ef:db:08:5e:13:d9:b8:16:6e:a0:3c:2e:d4:e5:fd:cb:53:90:88:d2:9c:b1:99",Copy to Clipboard Copied! Toggle word wrap Toggle overflow
接受服务器证书后,您可以访问 JBoss EAP 欢迎页面。
现在为应用程序配置了双向 SSL/TLS。