启用记录内部 openssl 消息

Enable logging internal openssl messages

我想在 SSL 握手期间获得错误消息,以便打印或从 libssl/libcrypto 传递到我的代码。

我认为来自 apps/s_cb.c 的 msg_cb() 中的消息在 openssl 源中是不够的。我希望看到的不仅仅是消息内容,我还可以看到那些使用 wireshark 的内容。我正在查找 "invalid HMAC"、"unknown certificate"、"certificate validation error" 等错误

对 SSLErr 的调用是我所追求的。例如:

SSLerr(SSL_F_SSL23_GET_CLIENT_HELLO, SSL_R_UNSUPPORTED_PROTOCOL);

OpenSSL 源代码树中的文件 doc/ssleay.txt 包含一个很大的警告,表明它已过时。称为 error.doc 的部分看起来仍然相当准确,并且很好地概述了不同的 OpenSSL 错误机制。你不应该完全相信它。

真正的文档应有尽有,只是比较分散。主要入口点是 man page about err 和它指向的不同链接。

其中一个似乎对您有用的是 ERR_print_errors() v1.0.2。用您感兴趣的版本替换版本号。