A.5. Elytron Client Side One way 示例
配置服务器 SSL 上下文后,如果可能,务必要测试配置。Elytron 客户端 SSL 上下文可以放在配置文件中,然后从管理 CLI 执行,从而能够测试服务器配置。这些步骤假定已完成服务器端配置,并且服务器已重新加载(如有必要)。
如果服务器密钥存储已存在,则继续下一步;否则,创建服务器密钥存储。
$ keytool -genkeypair -alias localhost -keyalg RSA -keysize 1024 -validity 365 -keystore server.keystore.jks -dname "CN=localhost" -keypass secret -storepass secret
如果已经导出了服务器证书,则继续下一步;否则,导出服务器证书。
$ keytool -exportcert -keystore server.keystore.jks -alias localhost -keypass secret -storepass secret -file server.cer
将服务器证书导入到客户端的信任存储中。
$ keytool -importcert -keystore client.truststore.jks -storepass secret -alias localhost -trustcacerts -file server.cer
在
example-security.xml
中定义客户端 SSL 上下文。此配置文件包含一个 Elytronauthentication-client
,它定义了用于出站连接的身份验证和 SSL 配置。以下 文件演示了定义客户端 SSL 上下文和密钥存储:<?xml version="1.0" encoding="UTF-8"?> <configuration> <authentication-client xmlns="urn:elytron:client:1.2"> <key-stores> <key-store name="clientStore" type="jks" > <file name="/path/to/client.truststore.jks"/> <key-store-clear-password password="secret" /> </key-store> </key-stores> <ssl-contexts> <ssl-context name="client-SSL-context"> <trust-store key-store-name="clientStore" /> </ssl-context> </ssl-contexts> <ssl-context-rules> <rule use-ssl-context="client-SSL-context" /> </ssl-context-rules> </authentication-client> </configuration>
使用管理 CLI,引用新创建的文件并尝试访问服务器。以下命令访问管理界面并执行
whoami
命令。$ EAP_HOME/bin/jboss-cli.sh -c --controller=remote+https://127.0.0.1:9993 -Dwildfly.config.url=/path/to/example-security.xml :whoami