【发布时间】:2021-02-28 17:13:18
【问题描述】:
我有一个在 Ktor 中运行的嵌入式 Jetty 服务器。我正在尝试公开客户端的证书,以便可以对其进行自定义身份验证,但是,添加 SecureRequestCustomizer() 似乎不会将客户端的证书添加到文档中所示的 servlet 属性中。事实上,当我访问我的服务器时,它甚至不会提示我输入证书。
我可以让服务器请求证书的唯一方法是设置 wantClientAuth = true,但这样做会导致 ssl 错误。
理想情况下,我希望 Jetty 提示输入证书,但不对它进行任何验证(让它接受所有证书与 wantClientAuth 似乎不起作用),然后将证书传递给 servlet 请求属性。
感谢任何建议,因为我一直在努力解决这个问题。
【问题讨论】:
-
您是否计划在 SSL/TLS 握手期间进行自定义身份验证? (因为这通常是在 JVM 本身中请求和处理客户端证书的地方)。
-
是的,解决了这个问题,我的信任存储配置错误导致握手失败,解决了这个问题。尽管我试图通过将其设置为信任所有证书来使其在没有信任存储的情况下工作,但显然这不太有效(或者我没有以正确的方式进行操作,谢谢您的帮助!)
标签: jetty embedded-jetty ktor