J'essaie d'utiliser OpenSSL pour me connecter à un serveur SSL.
Quand je cours:
openssl s_client -connect myhost.com:443
Les configurations client SSL suivantes fonctionnent très bien:
OpenSSL 0.9.83e 23 Feb 2007
)OpenSSL 0.9.8o 01 Jun 2010
)OpenSSL 1.0.0-fips 29 Mar 2010
)La sortie de toute connexion réussie ressemble à ceci:
New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DES-CBC3-SHA
Session-ID: (hidden)
Session-ID-ctx:
Master-Key: (hidden)
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1337266099
Timeout : 300 (sec)
Verify return code: 0 (ok)
Cependant, lorsque j'utilise le client avec mon Ubuntu 12.04 (w/OpenSSL 1.0.1 14 Mar 2012
) J'obtiens une erreur:
CONNECTED(00000003)
...:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
Comment puis-je procéder pour résoudre ce problème?
Tous les conseils sont très appréciés!
Cela semble être un problème connu avec OpenSSL 1.0.1 d'Ubuntu: https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/965371
Il ne semble pas qu'un correctif soit disponible. Si possible, vous pouvez revenir à 1.0.0.
Essayez openssl s_client -tls1 -connect myhost.com:443
Cette erreur peut être causée par une ancienne version de openssl lorsqu'elle ne peut pas renégocier le chiffrement (j'ai généré un certificat auto-signé à l'aide de courbes elliptiques).
Plus précisément, j'obtenais la même erreur sur MacOS avec openssl par défaut - 0.9.8zh
Après l'installation de la version d'infusion OpenSSL 1.0.2f, l'erreur a disparu:
~/bin/openssl s_client -connect localhost:45678 | grep Cipher
verify return:1
New, TLSv1/SSLv3, Cipher is ECDHE-ECDSA-AES256-GCM-SHA384
Cipher : ECDHE-ECDSA-AES256-GCM-SHA384
Si vous rencontrez ce problème avec un serveur Java HTTPS exécuté sur OpenJDK, essayez de modifier /etc/Java-7-openjdk/security/Java.security
et commentant la ligne
security.provider.10=Sun.security.pkcs11.SunPKCS11 ${Java.home}/lib/security/nss.cfg
comme découvert par Christoph W .