Jua*_*ero 5 java ssl servlets jetty client-certificates
我有一个具有公共https区域的webapp,以及使用SSL重新协商的使用客户端证书保护的私有https.在具有APR的Tomcat 7中,此配置可正常工作(并非没有大量工作).
现在我正在和Jetty一起工作,但我已经尝试了所有东西,但我无法让它发挥作用.
客户端证书对话框从未出现在浏览器中,我总是收到HTTP 403错误.
我的环境是:jdk 1.7.0.02 jetty 9.0.0.M3从Eclipse Helios用m2e启动.(码头:运行)
服务器似乎已经SSL重新协商启动,测试它指示在这里,所以我敢肯定有与SSL重新协商安全问题没有问题.
我已经覆盖了ClientCertAuthenticator(能够调试)并创建了一个自定义的LoginService,看起来X509Cert似乎永远不会出现在请求中.
看起来永远不会触发SSL重新协商,并且身份验证失败,因为请求中没有证书.
LoginService配置只对每次验证返回true.如果被问到,我也可以发布它们,但重要的方法永远不会被调用.
如果我使用needCLientCert或wantClientCert应用程序工作正常,但随后浏览器要求公共区域中的证书.
我的配置文件:
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 攻击。
| 归档时间: |
|
| 查看次数: |
1261 次 |
| 最近记录: |