【问题标题】:How to Set SSLv3 on Websphere?如何在 Websphere 上设置 SSLv3?
【发布时间】:2013-01-08 14:46:26
【问题描述】:

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

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

当我尝试从 SoapUI 或 java 应用程序(与 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()

...

【问题讨论】:

    标签: java web-services https websphere


    【解决方案1】:

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

    SSLHandshakeException

    Something Related?

    Maybe some help here on SO

    还有 1 个……

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

    Thread here

    Troubleshooting Websphere Applications

    【讨论】:

    • 我正在寻找的答案是如何配置 WAS 以使用 SSLv3 协议而不是 TLSv1 与 Web 服务进行通信...
    【解决方案2】:

    您的 WebShpere 前面有 IHS(IBM HTTP 服务器)吗?

    如果没有:

    从域管理器控制台更改协议:安全​​ > 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,但建议您这样做会带来安全风险。

    【讨论】:

    • 这是来自服务器的日志。我已经玩过 QoP 但仍然是同样的错误。与此同时,事实证明它在 6.1 上以某种方式工作,所以我将在我的本地环境中检查以前的版本。感谢您的帮助!
    猜你喜欢
    • 2015-04-19
    • 2016-04-14
    • 1970-01-01
    • 2012-11-24
    • 2013-06-26
    • 2019-11-02
    • 2020-09-17
    • 2016-03-01
    • 1970-01-01
    相关资源
    最近更新 更多