SSL故障(openssl)

Red*_*ddy 5 ssl openssl handshake

我需要通过SSL协议配置连接到服务器.我从服务器所有者获得了2个文件 - CA根证书(ca.pem)和测试证书请求(test.csr文件).

我试图通过openssl s_connect实用程序测试连接,我给出了奇怪的结果(xxx - 屏蔽值):

openssl s_client -connect MYURL -CAfile ca.pem
CONNECTED(00000003)
xxx verify return:1
xxx verify return:1
3074332296:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1193:SSL alert number 40
3074332296:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
Run Code Online (Sandbox Code Playgroud)

但是,在握手警报和打印证书数据后,我看到:

SSL handshake has read yyy bytes and written yyy bytes
New, xxx, Cipher is xxx
Server public key is xxx bit
Compression: xxx
Expansion: xxx
SSL-Session:
    Protocol  : xxx
    Cipher    : xxx
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: xxx
    Key-Arg   : xxx
    PSK identity: xxx
    PSK identity hint: xxx
    Compression: xxx
    Start Time: xxx
    Timeout   : xxx (sec)
    Verify return code: 0 (ok)
Run Code Online (Sandbox Code Playgroud)

什么是验证返回码是0(确定)?如果发生握手错误/警报怎么可能?

Nas*_*sko 4

您收到来自服务器的握手失败警报,这意味着发生了其他错误,而不是证书验证失败。您应该查看服务器端日志以获取有关失败原因的线索。

  • 检查服务器强制执行的受支持密码是否与客户端尝试连接的密码相匹配。如果您尝试使用 Web 服务器配置不支持的密码进行连接,您可能会收到此错误 - 例如,这可能是由底层服务器端 openssl 发行版引起的 (2认同)