Open wolf-hunter404 opened 9 months ago
看起来你需要用这个:
#include <openssl/ssl.h>
int SSL_get_error(const SSL *ssl, int ret);
看起来你需要用这个:
#include <openssl/ssl.h> int SSL_get_error(const SSL *ssl, int ret);
谢谢,我尝试过使用这个函数,好像不太对,因为按照文档的描述,SSL_do_handshake返回1时表示握手成功完成,双向认证不发送客户端证书也会返回1,导致无法判断握手是不是真的成功。 我也尝试过使用SSL_set_msg_callback、SSL_set_msg_callback_arg这两个函数来获取Alert警告,但是只能获取到了客户端向服务端发送的close notify,服务端响应回的Alert获取不到。 因为要连接的服务不确定是HTTPS Server还是普通的TLCP Server,只是想检查握手有没有问题,确保服务端配置是可用的。
服务中间件:Tengine+铜锁v8.3.3 大致的代码如下,能确认服务端配置的是双向认证,在使用WireShark抓包时,也能看到alert警告。 但是SSL_do_handshake依然返回成功标识,因为我只是想验证握手是否成功,不需要发送实际的业务数据。 这样的情况该如何判断呢,或者怎么获取alert?