【问题标题】:Enable logging internal openssl messages启用记录内部 openssl 消息
【发布时间】:2015-10-28 14:27:00
【问题描述】:

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

我认为来自 openssl 源中的 apps/s_cb.c 的 msg_cb() 中的消息还不够。我想看到的不仅仅是消息内容,我可以看到那些使用wireshark的。我正在寻找诸如“无效 HMAC”、“未知证书”、“证书验证错误”等错误。

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

SSLerr(SSL_F_SSL23_GET_CLIENT_HELLO, SSL_R_UNSUPPORTED_PROTOCOL);

【问题讨论】:

  • 你在寻找类似ERR_print_errors()的东西吗?
  • 各位,我也面临同样的问题。尝试使用 ERR_print_errors() 但它只打印所有 NULL 值。我错过了什么吗?我正在使用 Visual Studio 在 Windows 上构建。感谢您的帮助!

标签: c ssl logging openssl


【解决方案1】:

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

真正的文档包含您需要的一切,但比较分散。主要入口点是man page about err 及其指向的不同链接。

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

【讨论】:

    猜你喜欢
    • 2017-01-11
    • 2017-06-08
    • 1970-01-01
    • 2017-08-26
    • 2022-10-02
    • 2021-04-07
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    相关资源
    最近更新 更多