首页 > 解决方案 > SSL 握手显示密码 0000

问题描述

我的 SSL 握手(使用 openssl s_client -connect host:port)显示以下输出:

SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1631731107
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

它显示返回代码 0(正常)、开始时间等。这是否意味着这里建立了 SSL 会话?为什么它不显示我通常在其他 SSL 会话中看到的其他内容,例如密码、会话 ID 等?

标签: ssl

解决方案


此输出意味着握手根本不成功。在此之前的输出中通常存在错误,如下所示:

$ openssl s_client -connect example.com:80
CONNECTED(00000003)
140501726137216:error:1400410B:SSL routines:CONNECT_CR_SRVR_HELLO:wrong version number:ssl_pkt.c:386:
....
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    ...
    Verify return code: 0 (ok)

在这个例子中,一个 TLS 连接被尝试连接到一个根本不使用 TLS 而是只使用普通 HTTP 的服务器(因为我已经连接到普通 HTTP 端口)。有一个明显的错误显示某种 TLS 问题,在这种情况下,这是由于试图将纯 HTTP 响应解释为 TLS 而引起的。


推荐阅读