SSL 例程:SSL23_WRITE:ssl 握手失败

Jaa*_*kko 34 ssl openssl

我正在尝试使用 OpenSSL 连接到 SSL 服务器。

当我运行时:

openssl s_client -connect myhost.com:443
Run Code Online (Sandbox Code Playgroud)

以下 SSL 客户端配置工作正常:

  • 窗户 ( OpenSSL 0.9.83e 23 Feb 2007)
  • Linux ( OpenSSL 0.9.8o 01 Jun 2010)
  • Linux ( 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)
Run Code Online (Sandbox Code Playgroud)

但是,当我在 Ubuntu 12.04 (w/ OpenSSL 1.0.1 14 Mar 2012) 上使用客户端时,出现错误:

CONNECTED(00000003)
...:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
Run Code Online (Sandbox Code Playgroud)

我该如何继续解决这个问题?

非常感谢所有提示!

bre*_*ent 30

这看起来是 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

  • 听起来不错:) 最后一条信息,带有 OpenSSL 的上游票证,这似乎是问题的根本原因:http://rt.openssl.org/Ticket/Display.html?id=2802&user=guest&pass=guest (2认同)