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);
と、プログラムがクラッシュします。私は何を間違っていますか?