【发布时间】: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