5

我需要通过 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:

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

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)

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

4

1 回答 1

4

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

于 2011-06-24T16:28:47.590 回答