我有一个用Java编写的组件,我无法更改,它部署在WAS 7上,并尝试通过https调用Web服务。我得到:
- 服务器选择了不支持或禁用的协议:SSLv3*
当我尝试从SoapUI或java应用程序(与原来的java版本相同)调用相同的web服务时,我得到了相同的错误,但很容易修复:
System.setProperty("https.protocols", "SSLv3");
由于某些原因,我无法强制websphere工作。我通过控制台设置了这个属性,但错误仍然是一样的。当我打印系统属性时,我看到它设置正确。
Java version:
java version "1.6.0" Java(TM) SE Runtime Environment (SR10 FP1)
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9)
这是来自服务器的日志文件。如何强制它使用SSLv3而不是TLSv1?我可以通过控制台更改它吗?我被告知它在服务器上工作,但是我没有访问设置的权限。除了设置之外,还有什么可能?JVM的不同版本,WAS?
[1/24/13 17:04:58:842 CET] 0000003e SystemOut O WebContainer : 4, **WRITE: TLSv1 Handshake**, length = 57
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, **READ: SSLv3 Handshake**, length = 74
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O *** **ServerHello, SSLv3**
...
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, handling exception: javax.net.ssl.SSLHandshakeException: **Server chose unsupported or disabled protocol: SSLv3**
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, SEND TLSv1 ALERT: fatal, description = handshake_failure
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, WRITE: TLSv1 Alert, length = 2
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, called closeSocket()
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, called close()
...
2条答案
按热度按时间wgmfuz8q1#
不确定这是否有帮助,但是...
SSLHandshakeException
Something Related?
Maybe some help here on SO
还有1个...
答案是SSLContext ctx = SSLContext.getInstance(“SSLv 3”);
Thread here
Troubleshooting Websphere Applications
pvabu6sv2#
您的WebShpere前面是否有IHS(IBM HTTP服务器)?
如果没有:
要更改协议,请从域管理器控制台转到:安全性〉SSL证书和密钥管理〉SSL配置〉NodeDefaultSSL设置〉保护质量(QoP)设置
如果默认的SSL_TLS已经设置好了,你可以尝试更改为SSLv3,但是SSL_TLS应该能够处理TLS和SSLv3,并且可能在这个服务的路径上有WebSphere以外的东西。
有关详细信息,请访问:http://www.redbooks.ibm.com/redbooks/pdfs/sg247660.pdf
以及:http://www.ibm.com/developerworks/websphere/techjournal/0612_birk/0612_birk.html#sec1
如果是:
比的指示会不同,让我知道。:)
祝你好运
另外,这是来自WebSphere服务器的日志还是来自“客户端”的日志?我有一种感觉,可能发生的情况是“客户端”不支持SSLv3,看起来WebSphere希望SSLv3关闭握手,但客户端站点不支持它。如果是这种情况,您可以尝试将协议更改为SSLv2,但被告知这样做会有安全风险。