C++ 获取Openssl证书错误中的错误字符串
在openssl中,我可以使用以下代码获取证书的错误号:C++ 获取Openssl证书错误中的错误字符串,c++,openssl,x509certificate,C++,Openssl,X509certificate,在openssl中,我可以使用以下代码获取证书的错误号: if(SSL_get_peer_certificate(ssl) != NULL){ if((error = SSL_get_verify_result(ssl)) != X509_V_OK){ std::cout << "error no = " << error << std::endl; } } 我得到的只是: error:00000013:lib(0):func
if(SSL_get_peer_certificate(ssl) != NULL){
if((error = SSL_get_verify_result(ssl)) != X509_V_OK){
std::cout << "error no = " << error << std::endl;
}
}
我得到的只是:
error:00000013:lib(0):func(0):reason(19)
这里有没有办法找到确切的原因?
我已使用以下代码加载错误字符串:
SSL_加载_错误_字符串()
但我还是不知道确切的原因。如果我尝试使用
std::string a=ERR\u reason\u error\u string(19)代码>,程序崩溃。我做错了什么?请使用该函数获取与OpenSSL中证书验证相关的错误。ERR_error_string为其他与SSL库相关的错误提供错误字符串,而不是证书验证失败特定的错误
至于崩溃,没有原因代码映射到值19。所有SSL错误原因代码从100开始。因此,ERR\u reason\u error\u字符串必须返回NULL,这将导致代码崩溃
error:00000013:lib(0):func(0):reason(19)