gpt4 book ai didi

c - 如何抑制 C 中的 openssl 错误输出?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:40 24 4
gpt4 key购买 nike

我有一堆使用无效证书引发错误情况的单元测试,这很好用,但不幸的是,我整洁的终端输出现在充满了丑陋的 OpenSSL 错误,有人知道我如何抑制这些错误吗?

EDIT1:错误看起来像这样:

140376922039968:error:0906D06C:lib(9):func(109):reason(108):pem_lib.c:696:Expecting: CERTIFICATE140376922039968:错误:0D0680A8:lib(13):func(104):reason(168):tasn_dec.c:1319:140376922039968:error:0D07803A:lib(13):func(120):reason(58):tasn_dec.c:381:Type=X509140376922039968:error:0906700D:lib(9):func(103):reason(13):pem_oth.c:83:140376922039968:错误:0D0680A8:lib(13):func(104):reason(168):tasn_dec.c:1319:140376922039968:error:0D07803A:lib(13):func(120):reason(58):tasn_dec.c:381:Type=X509140376922039968:error:0906700D:lib(9):func(103):reason(13):pem_oth.c:83:

这些是在我将无效的 X.509 证书传递给 OpenSSL X509 PEM 解码函数时生成的。生成这些错误的代码如下:

    BIO *certBio = BIO_new_mem_buf(certData, certSize);
X509 *x509 = PEM_read_bio_X509(certBio, NULL, NULL, NULL);

EDIT2:对不起,不好意思,我在我的代码中调用了打印错误函数,我向那些花时间研究这个的人道歉:(

最佳答案

我已经尝试了一些 OpenSSL 样本,但我并没有真正看到 OpenSSL 强制输出任何内容到终端。

因此,我会建议一个非常简单的解决方案:从您的测试程序中删除错误输出命令。您可能应该寻找 ERR_print_errors()ERR_print_errors_fp() 调用,以及可能获取 ERR_reason_error_string() 的其他输出函数。

如果您的代码仍然输出错误,请提供一个示例,我们可以对其进行测试并找出发生这种情况的原因

关于c - 如何抑制 C 中的 openssl 错误输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com