如何在Websphere上设置SSLv3?

时间:2013-01-24 18:29:57

标签: java web-services https websphere

我有一个用Java编写的组件,我无法更改,它部署在WAS 7上并尝试通过https调用Web服务。我得到了:

服务器选择了不支持或禁用的协议:SSLv3

当我尝试从SoapUI或java app(与WAS相同的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 个答案:

答案 0 :(得分:0)

不确定这是否有帮助,但......

SSLHandshakeException

Something Related?

Maybe some help here on SO

还有1个......

答案是SSLContext ctx = SSLContext.getInstance(“SSLv3”);

Thread here

Troubleshooting Websphere Applications

答案 1 :(得分:0)

您的WebShpere前面是否有IHS(IBM HTTP Server)?

如果不是:

要从域管理器控制台更改协议,请执行以下操作:安全> SSL证书和密钥管理> SSL配置> NodeDefaultSSLSettings>保护质量(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

如果是:

比说明书不同,请告诉我。 :)

问候。

PS - 来自“客户端”的WebSphere服务器的这个日志我有一种气味,可能发生的是“客户端”是不支持SSLv3的那个,看起来WebSphere希望SSLv3关闭握手但客户端站点不支持它。如果是这种情况,您可以尝试将协议更改为SSLv2,但请注意,这样做会带来安全风险。