slu*_*pie 6 java authentication https servlets jetty
我想在一个HTTPS站点上在Jetty中运行一个servlet,该站点只需要部分站点的客户端证书(特定URL).例如:
https://example.com/someservlet/public - 无需客户端证书 https://example.com/someservlet/protected - 需要客户端证书
在Apache中,我可以通过SSLVerifyClient require在内部指定<Directory>或<Location>强制Apache在请求发出后重新协商SSL连接来实现此目的.
我不希望将Jetty嵌入到其他任何东西中,只是单独使用.这可能吗?Servlet可以直接以某种方式导致这种情况吗?可以通过配置完成吗?
据我所知,您只能在每个端口上指定 SSL 选项。
即使您可以,您尝试实现的配置也是有问题的,因为它需要 SSLRenegotiation,该配置大约一年前由于安全漏洞而已更改。因此,执行 SSLRenogitation 的新方法仅受较新的客户端支持,有时即使受支持,它也会因错误而无法工作。
我建议一个简单的解决方法:将 Jetty 配置为侦听两个 SSL 端口:例如,在没有 HTTPS 客户端身份验证的 443 上,以及需要 HTTPS 客户端身份验证的 8443 上。然后使受保护的 servlet 仅在 8443 上可用。这不是一个好的解决方案,但 100% 健壮,可与 Jetty 和所有客户端配合使用。
| 归档时间: |
|
| 查看次数: |
1792 次 |
| 最近记录: |