我试图使用OpenSSL连接到SSL服务器。
当我跑步时:
openssl s_client -connect myhost.com:443以下SSL客户端配置运行良好:
OpenSSL 0.9.83e 23 Feb 2007)OpenSSL 0.9.8o 01 Jun 2010)OpenSSL 1.0.0-fips 29 Mar 2010)任何成功连接的输出如下所示:
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)但是,当我在Ubuntu12.04 (w/ OpenSSL 1.0.1 14 Mar 2012)中使用客户端时,会出现错误:
CONNECTED(00000003)
...:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:我怎样才能着手解决这个问题呢?
所有的提示都非常感谢!
发布于 2012-05-17 15:11:08
这似乎是Ubuntu的1.0.1 OpenSSL:https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/965371中的一个已知问题。
它看起来不像一个修复可用的。如果可能的话,你可以把评级下调到1.0.0。
试试openssl s_client -tls1 -connect myhost.com:443
发布于 2016-06-08 19:57:45
当openssl不能重新协商密码(我使用椭圆曲线生成了一个自签名证书)时,这个错误可能是由较早版本的openssl引起的。
具体来说,我在默认OpenSSL-0.9.8zh的MacOS上得到了相同的错误。
安装brew版本OpenSSL 1.0.2f后,错误消失了:
~/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发布于 2014-06-19 08:57:03
如果在OpenJDK上运行的Java服务器出现此问题,请尝试编辑/etc/java-7-openjdk/security/java.security并注释行
security.provider.10=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg正如克利斯朵夫所发现的。
https://serverfault.com/questions/389197
复制相似问题