我希望在SSL握手期间收到错误消息,以便从libssl / libcrypto打印或传递给我的代码。
我不认为来自openssl源中的apps / s_cb.c的msg_cb()中的消息就足够了。我希望看到更多的消息内容,我可以看到那些使用wireshark。我正在寻找错误,例如"无效的HMAC","未知证书","证书验证错误"等等。
对SSLErr的调用就是我所追求的。例如:
SSLerr(SSL_F_SSL23_GET_CLIENT_HELLO, SSL_R_UNSUPPORTED_PROTOCOL);
答案 0 :(得分:1)
OpenSSL源代码树中的文件doc/ssleay.txt
包含一个很大的警告,表明它已过时。名为error.doc
的部分看起来仍然相当准确,并且对不同的OpenSSL错误机制给出了很好的概述。你不应该完全信任它。
真正的文档包含您需要的所有内容,但更加分散。主要入口点是man page about err
以及它指向的不同链接。
其中一个对你有用的是ERR_print_errors()