什么可能导致Could not generate DH key pair on the destination URL
错误?
一家 EDI 合作伙伴公司尝试连接到我们的 HTTPS 服务器并遇到上述消息。
或者系统使用具有高安全等级(qualsys ssltest 中的“A”)的商业防火墙和反向代理(基于 Apache)。我怀疑我们的安全级别高于我们的 EDI 合作伙伴公司的能力,但他们声称与其他 HTTPS 合作伙伴有有效的连接,并且他们说他们支持“2048 位”。
遗憾的是,我们无法为了测试目的而降低系统的安全级别。是否有标准诊断工具可以推荐给我们的 EDI 合作伙伴,以便他们分析连接故障?
更新:我使用了 Qualsys SSL 诊断工具,发现 Java (Sun JRE) 6 客户端无法连接,因为
Java 6u45 - Client does not support DH parameters > 1024 bits
。
但是,对于其他 A 级服务器,Java 6 客户端可以连接,而且它们似乎只是不使用 DH:
Java 6u45 - TLS 1.0 - TLS_RSA_WITH_AES_128_CBC_SHA (0x2f)
因此,如果我将这些部分放在一起,我会假设我们的服务器坚持使用 DH 密钥交换(Java 6 客户端不支持),而其他服务器能够协商不同的密码,以便 Java 6 客户端可以连接。但是我不是这个领域的专家,所以如果我是在寻找转移注意力的线索,请告诉我 :)
答案1
从我们的服务器中删除所有 DHE 密码最终解决了连接问题。