在 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;
}
}
但是,如果我尝试从这个错误中获取错误字符串,如下所示:
std::string temp = ERR_error_string(SSL_get_verify_result(ssl), NULL) ;
我得到的是:
error:00000013:lib(0):func(0):reason(19)
有没有办法在这里得到确切的原因?我已经使用以下代码加载了错误字符串:
SSL_load_error_strings();
但我仍然没有得到确切的原因。如果我尝试使用
std::string a = ERR_reason_error_string(19);
,程序会崩溃。我究竟做错了什么?