【发布时间】:2021-06-17 12:31:21
【问题描述】:
sslread_result=SSL_read(ssl,...);
sslread_err=SSL_get_error(ssl,sslread_result);
if(sslread_err==SSL_ERROR_NONE) {
//...
}
else if(sslread_err==SSL_ERROR_WANT_READ||sslread_err==SSL_ERROR_WANT_WRITE) {
//...
}
else {
printf("0x%08X:[ERROR!]-WSARecv-Decipher/SSL_read error:%d/%d\n",GetCurrentThreadId(),sslread_err,sslread_result);
char err_msg[1024]="";
printf("SSL read error(%d):%s\n%s\n%s\n",
sslread_err,
ERR_error_string(sslread_err,err_msg),
err_msg,
ERR_reason_error_string(sslread_err));
}
我使用 openssl 发送 https 请求并获得响应。不知怎的,它出了问题。错误输出是这样的(由函数printf打印):
0x00001E78:[错误!]-WSARecv-Decipher/SSL_read 错误:6/0 SSL 读取错误(6):error:00000006:lib(0):func(0):EVP lib 错误:00000006:lib(0):func(0):EVP lib EVP 库
这是什么意思? openssl的错误码0000006,错误字符串EVP lib。
【问题讨论】: