JBoss 服务器上的客户端身份验证
Client authentication on JBoss server
我正尝试在 JBoss 上为我的应用程序 运行 配置客户端身份验证。预期结果是应用程序向用户请求证书,如果提供了受信任的证书,他将能够使用应用程序。
我已经生成了证书并将一个添加到 trustore (JBoss.keystore) 并且还配置了 standalone.xml 文件如下:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enable-lookups="false" secure="true">
<ssl name="ssl" key-alias="ssl alias" password="password" certificate-key-file="..\standalone\configuration\JBoss.keystore" protocol="TLSv1.2" verify-client="true"/>
<virtual-server name="my-host" />
</connector>
我认为设置安全 属性 true
会成功,但浏览器不要求用户证书,但立即 returns 错误 ERR_BAD_SSL_CLIENT_AUTH_CERT
。如果需要,浏览器配置为每次都要求提供证书。
如何将服务器配置更改为预期行为?
我找到了答案。解决方案是将签署客户端证书的 CA 证书导入信任库,而不是导入客户端证书本身。
导入 CA 证书后,将显示每个由 CA 签名并导入浏览器的证书以供选择。
我正尝试在 JBoss 上为我的应用程序 运行 配置客户端身份验证。预期结果是应用程序向用户请求证书,如果提供了受信任的证书,他将能够使用应用程序。
我已经生成了证书并将一个添加到 trustore (JBoss.keystore) 并且还配置了 standalone.xml 文件如下:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enable-lookups="false" secure="true">
<ssl name="ssl" key-alias="ssl alias" password="password" certificate-key-file="..\standalone\configuration\JBoss.keystore" protocol="TLSv1.2" verify-client="true"/>
<virtual-server name="my-host" />
</connector>
我认为设置安全 属性 true
会成功,但浏览器不要求用户证书,但立即 returns 错误 ERR_BAD_SSL_CLIENT_AUTH_CERT
。如果需要,浏览器配置为每次都要求提供证书。
如何将服务器配置更改为预期行为?
我找到了答案。解决方案是将签署客户端证书的 CA 证书导入信任库,而不是导入客户端证书本身。 导入 CA 证书后,将显示每个由 CA 签名并导入浏览器的证书以供选择。