java客户端与仅SSLv3服务器通信时的SSL握手问题
我们正面临一个问题,我相信这是正确的地方。我们有一个负载平衡器(cisco),由于各种原因,负载平衡器(服务器)端的SSL配置被设置为使用“SSLv3”协议版本。现在,在设置相同的设置之后,当我在CHROME浏览器中访问负载平衡器时,我可以访问这些页面,但当我单击它们的安全图标时,我确实看到了下面的消息 “必须使用ssl 3.0重试连接”-我使用wireshark查看了数据包捕获,我看到浏览器尝试TLSv1并从服务器接收到“致命警报”,说“protocol_version”,然后浏览器立即尝试SSLv3 version并完成握手。所以浏览器可以作为一个客户端来协商这个问题 然而,当我从eclipse设置一个独立的java(尝试使用1.6和1.7)客户端并尝试连接到服务器时,我得到了以下异常 :收到致命警报:协议\版本javax.net.ssl.ssLexException:收到致命警报:协议\版本 根据各种文件,我看到了两种选择java客户端与仅SSLv3服务器通信时的SSL握手问题,ssl,jsse,Ssl,Jsse,我们正面临一个问题,我相信这是正确的地方。我们有一个负载平衡器(cisco),由于各种原因,负载平衡器(服务器)端的SSL配置被设置为使用“SSLv3”协议版本。现在,在设置相同的设置之后,当我在CHROME浏览器中访问负载平衡器时,我可以访问这些页面,但当我单击它们的安全图标时,我确实看到了下面的消息 “必须使用ssl 3.0重试连接”-我使用wireshark查看了数据包捕获,我看到浏览器尝试TLSv1并从服务器接收到“致命警报”,说“protocol_version”,然后浏览器立即尝试S
这个问题在Java1.6和1.7中都会发生。如果需要更多信息来回答,请务必告诉我,我很乐意提供帮助。您的确定性是错误的。这不是一个编程问题,而是一个硬件/软件配置问题。嘿,凯文-这可能不是一个真正的“编程”问题,但它是关于为什么java不处理这个问题,这很奇怪。我在谷歌上搜索了不少,但没有找到正确的答案。这个影响相当大。在我的例子中,我们有一个通过PCI认证的支付网关,出于各种原因,我们不得不限制我们的服务器使用SSLv3。现在我有很多客户端连接到该服务器,每个人都开始面临“protcolu版本”问题,这让我感到困惑。现在n/w的人把我指给浏览器,说它可以协商,为什么java客户端不能?硬件设置为SSLv3的“特定原因”是什么?这已经过时很多年了。您的问题最好向Java开发人员提出。您在这里得到的唯一答案将是“因为这是它的设计方式”,或者或多或少是不知情的猜测和意见。“某些原因”-我们的支付网关需要PCI认证(支付卡行业数据安全标准),并且要求您必须使用最新的SSL/TLS。我们无法使用TLS1.2,因此必须使用SSLv3。但实际的qs又是不同的。当你说最好是面向java开发人员的时候,我已经在oracle论坛上发布了。你能推荐其他地方吗?“TLS v1.2之前的最新TLS/SSL”不是SSLv3,而是TLS v1.1和TLS v1.0之前的TLS。SSLv3实际上是最早的一款,您可以在不产生重大不安全感的情况下使用它。你的问题似乎是基于误解。为了纠正另一个误解,Oracle论坛上没有java开发人员,可能有两个例外,否则只有志愿者。无论如何,这个问题对于解决你当前的问题来说是毫无意义的。如果您有要求,请提交RFE。