Keycloak 从KeyClope下载并导入X.509客户端证书

Keycloak 从KeyClope下载并导入X.509客户端证书,keycloak,x509,Keycloak,X509,我在本地主机上设置了KeyClope 4.8.2-Final,并按照上的文档中所述启用了SSL 服务器可以启动,但我无法在localhost:8443上打开服务器页面 openssl s_client -connect 127.0.0.1:8443 由于SSL错误代码42 4566025836:error:1401E412:SSL routines:CONNECT_CR_FINISHED:sslv3 alert bad certificate:/BuildRoot/Library/Caches

我在本地主机上设置了KeyClope 4.8.2-Final,并按照上的文档中所述启用了SSL

服务器可以启动,但我无法在localhost:8443上打开服务器页面

openssl s_client -connect 127.0.0.1:8443
由于SSL错误代码42

4566025836:error:1401E412:SSL routines:CONNECT_CR_FINISHED:sslv3 alert bad certificate:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.230.1/libressl-2.6/ssl/ssl_pkt.c:1205:SSL alert number 42), which means that the client certificate problem. 
但我的想象是服务器应该将我重定向到登录页面。登录后,服务器应生成客户端证书,并要求我下载证书并将其导入浏览器。在这之后,我应该能够连接到服务器,而无需任何进一步的身份验证,因为我已经拥有了KeyClope信任的客户机证书


我做错了什么?或者当前的KeyClope还不支持此过程?

根据文档,不支持在用户输入用户名和密码后下载和导入证书。前两个步骤始终是:

客户端通过SSL/TLS通道发送身份验证请求 在SSL/TLS握手期间,服务器和客户端交换其x.509/v3证书

因此,standalone.xml中的配置只能“请求”。在没有真正理解的情况下,我将其更改为“必需”,它总是要求提供客户端证书。如果客户机没有,它就会失败。使用“请求”时,客户端证书只是可选的

<subsystem xmlns="urn:jboss:domain:undertow:4.0">
    ....
    <server name="default-server">
        <https-listener name="default"
                        socket-binding="https"
                        security-realm="ssl-realm"
                        verify-client="REQUESTED"/>
    </server>
</subsystem>

....