gpt4 book ai didi

java - 如何让 CLIENT-CERT SSL 重新协商在 Jetty 中工作?

转载 作者:搜寻专家 更新时间:2023-11-01 00:57:26 24 4
gpt4 key购买 nike

我有一个 web 应用程序,它有一个公共(public) https 区域和一个使用 SSL 重新协商使用客户端证书保护的私有(private) https。此配置在具有 APR 的 Tomcat 7 中正常工作(并非没有大量工作)。

现在我正在使用 Jetty,我已经尝试了所有方法,但我无法让它工作。

客户端证书对话框从不出现在浏览器中,而且我总是收到 HTTP 403 错误。

我的环境是:jdk 1.7.0.02jetty 9.0.0.M3 使用 m2e 从 Eclipse Helios 启动。 ( jetty :运行)

服务器似乎启用了 SSL 重新协商,按照指示对其进行测试 here ,所以我很确定 SSL 重新协商安全问题没有问题。

我已经覆盖了 ClientCertAuthenticator(以便能够调试)并创建了一个自定义的 LoginService,看起来 X509Cert 从未出现在请求中。

看起来 SSL 重新协商从未被触发,并且身份验证失败,因为请求中没有证书。

配置的 LoginService 只对每个验证返回 true。如果有人问我,我也可以发布它们,但重要的方法永远不会被调用。

如果我使用 needCLientCert 或 wantClientCert 应用程序工作正常,但浏览器会在公共(public)区域要求证书。

我的配置文件:

web.xml:http://pastebin.com/LQ3RcWY4

jetty .xml:http://pastebin.com/iE9xqcLq

jetty-context.xml:http://pastebin.com/rcSsBfRW

pom.xml( jetty 部分):http://pastebin.com/wBLATggq

我是否遗漏了一些明显的东西?我不知道。我搜索了很多并尝试了很多可能的配置,但是,没有运气。

最佳答案

http://docs.codehaus.org/display/JETTY/Jetty+Security

通过关闭 Jetty 中的 SSL 重新协商来解决。如果使用 JVM > 1.6u19 可以在连接器上调用 setAllowRenegotiate(true)

尽管如此,您还是向 BEAST 攻击开放了您的服务器。

关于java - 如何让 CLIENT-CERT SSL 重新协商在 Jetty 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14408958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com