【发布时间】:2011-09-26 08:48:32
【问题描述】:
在客户端,我在 jdk5u22 上有 Apache HTTP 客户端。在服务器端,我在 jdk6u27 上有 tomcat。
使用此设置,如果我尝试 SSL 客户端身份验证(2 路 SSL),则会导致服务器上出现“javax.net.ssl.SSLHandshakeException: Insecure renegotiation is not allowed”,并且握手失败。如果我在服务器上设置系统属性 sun.security.ssl.allowUnsafeRenegotiation=true 和 sun.security.ssl.allowLegacyHelloMessages=true,它会成功。
根据链接http://www.oracle.com/technetwork/java/javase/documentation/tlsreadme2-176330.html,这是因为 JRE6u27 具有 RFC 5746 实现,而下面的 JRE5u26 没有此实现,因此两者都不兼容。不幸的是,5u22 是最新的免费提供的 java 5 版本。所以我想知道是否可以在没有 ssl 重新协商的情况下进行 SSL 客户端身份验证。
问候, 小普雷斯
【问题讨论】:
标签: java ssl httpclient authentication