Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Websphere上设置SSLv3?_Java_Web Services_Https_Websphere - Fatal编程技术网

Java 如何在Websphere上设置SSLv3?

Java 如何在Websphere上设置SSLv3?,java,web-services,https,websphere,Java,Web Services,Https,Websphere,我有一个用Java编写的组件,我无法更改,它部署在WAS7上,并试图通过https调用web服务。我得到: 服务器选择了不受支持或禁用的协议:SSLv3 当我试图从SoapUI或java应用程序(与以前版本相同的java)调用相同的web服务时,我遇到了相同的错误,但很容易用以下方法修复: System.setProperty("https.protocols", "SSLv3"); 由于某些原因,我无法强制websphere工作。我通过控制台设置了这个属性,但错误仍然是一样的。当我打印系统属

我有一个用Java编写的组件,我无法更改,它部署在WAS7上,并试图通过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,是吗

[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()

...

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

还有一个

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

您的网站前面有IHS(IBM HTTP服务器)吗

如果没有:

要更改协议,请从域管理器控制台转到:安全>SSL证书和密钥管理>SSL配置>NodeDefaultSSLSettings>保护质量(QoP)设置

在那里你会发现一个组合协议,在那里你可以设置它。如果已经设置了取消默认设置的SSL_TLS,您可以尝试更改为SSLv3,但是SSL_TLS应该能够处理TLS和SSLv3,并且可能在该服务的路径上存在WebSphere以外的内容

有关详细信息,请访问:

而且:

如果是:

如果说明不同,请告诉我。:)

问候


另外,这是来自WebSphere服务器的日志还是来自“客户端”的日志我感觉可能发生的事情是“客户端”不支持SSLv3,看起来WebSphere希望SSLv3关闭握手,但客户端站点不支持它。如果是这种情况,您可以尝试将协议更改为SSLv2,但会被告知这样做会带来安全风险。

我要寻找的答案是如何配置是使用SSLv3协议而不是TLSv1与web服务通信…这是服务器的日志。我已经和库普玩过了,但还是一样的错误。同时,事实证明它在6.1上运行,所以我将在本地环境中检查以前的版本。谢谢你的帮助!