【问题标题】:How to establish a HTTPS connection between Java 7 and an OpenShift application?如何在 Java 7 和 OpenShift 应用程序之间建立 HTTPS 连接?
【发布时间】:2014-10-28 15:07:00
【问题描述】:

OpenShift 在 2014 年 10 月 16 日左右迅速解决了 SSL“Poodle”漏洞。从那时起,与我合作的电子商务提供商无法再与我的 OpenShift PHP 应用程序建立安全的 HTTPS 连接。我怀疑这至少部分是因为 SSL3 不再是可用的协议。

在电子商务提供商端记录的错误是:

javax.net.ssl.SSLException
java.lang.RuntimeException: Could not generate DH keypair

这是我迄今为止尝试和发现的:

https://www.ssllabs.com/ssltest/ 的在线 SSL 测试工具表明我的 SSL 证书已正确安装(通过 OpenShift WebConsole 安装),并且获得了“A”级。在普通 Web 浏览器中连接到我的 OpenShift PHP 应用程序时,HTTPS 可以正常工作。一般来说,SSL 证书和安装本身似乎没问题。

作为测试,我尝试使用 OpenShift 的共享 SSL 证书而不是我自己的,结果完全相同。

Java 7

尝试通过 HTTPS 连接到我的 OpenShift PHP 应用程序的远程电子商务平台使用 Java 7。技术支持认为问题在于他们的 Java 7 系统不支持长度大于 1024 位的密钥。不幸的是,他们目前无法将系统升级到 Java 8,所以他们的手有些束缚。

握手模拟

我的 SSL 证书的 ssllabs 分析包括对各种客户端的有用握手模拟测试。这实际上显示了使用 TLS1.0 连接 OK 的 Java 7 模拟,但是 Java 6 模拟失败并出现“客户端不支持 DH 参数 > 1024 位”错误 - 大致与他们的 Java 7 报告的电子商务技术支持所看到的相呼应基于系统。

我该如何解决这个问题?缩小问题范围:

我的电子商务提供商是否可以进行简单的调整以启用与 OpenShift 应用程序的 HTTPS 连接,而无需升级 Java 或进行可能影响其他人的重大更改?例如接受 DH 参数 > 1024 位的选项。

我有什么可以调整的(可能是 OpenShift 或 PHP 设置)以使他们基于 Java 7 的系统能够成功地与我的 OpenShift 应用程序建立 HTTPS 连接?例如指示 OpenShift 提供 DH 参数

【问题讨论】:

    标签: java php ssl https openshift


    【解决方案1】:

    重新启动您的应用程序应该可以解决该问题,因为它将选择包含该问题最新修复程序的最新 JDK。

    https://bugzilla.redhat.com/show_bug.cgi?id=1035818
    https://bugzilla.redhat.com/show_bug.cgi?id=1080125

    【讨论】:

    猜你喜欢
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 2011-09-21
    • 2015-09-11
    相关资源
    最近更新 更多