O que poderia causar um Could not generate DH key pair on the destination URL
erro?
Uma empresa parceira de EDI tenta se conectar ao nosso servidor HTTPS e encontra a mensagem acima.
Ou o sistema usa um firewall comercial e um proxy reverso (baseado no Apache) com uma classificação de alta segurança ('A' no qualsys ssltest). Suspeito que nosso nível de segurança seja mais alto do que as capacidades de nossa empresa parceira EDI, no entanto, eles afirmam ter conexões de trabalho com outros parceiros HTTPS e dizem que suportam '2048 bits'.
Infelizmente, não podemos diminuir o nível de segurança em nosso sistema para fins de teste. Existem ferramentas de diagnóstico padrão que podemos recomendar ao nosso parceiro EDI para que possam analisar a falha de conexão?
Atualização: usei a ferramenta de diagnóstico Qualsys para SSL e descobri que para clientes Java (Sun JRE) 6 nenhuma conexão é possível porque
Java 6u45 - Client does not support DH parameters > 1024 bits
.
No entanto, para outros servidores com classificação A, os clientes Java 6 podem se conectar e parece que eles simplesmente não usam DH:
Java 6u45 - TLS 1.0 - TLS_RSA_WITH_AES_128_CBC_SHA (0x2f)
Portanto, se eu juntar essas peças, presumo que nosso servidor insista na troca de chaves DH (que não é suportada por clientes Java 6), enquanto outros servidores são capazes de negociar uma cifra diferente para que os clientes Java 6 possam se conectar. No entanto, não sou um especialista nesta área, então, por favor, deixe-me saber se estou perseguindo um arenque vermelho :)
A remoção de todas as cifras DHE do nosso servidor finalmente resolveu o problema de conexão.