【问题标题】:openssl verify signature error, but command line tools is okopenssl验证签名错误,但命令行工具没问题
【发布时间】:2014-12-24 10:34:18
【问题描述】:

我正在验证 ECDSA-WITH-SHA256 的签名。我的代码库来自 openssl v1.0.1h,可以使用 openssl 命令行运行。但是我的代码在执行下面的代码时返回错误:

if (!(p7bio=PKCS7_dataInit(p7,tmpin)))
    goto err;

PKCS7_dataInit 中的代码如下:

for (i=0; i<sk_X509_ALGOR_num(md_sk); i++)
    if (!PKCS7_bio_add_digest(&out, sk_X509_ALGOR_value(md_sk, i)))
        goto err;

PKCS7_bio_add_digest 返回错误导致验证失败。

我构造了完全相同的命令行参数,如下面的命令行工具: [openssl smime] -verify -inform DER -in signature -content message -noverify

这个问题是什么原因造成的?

感谢任何帮助

陈松

【问题讨论】:

    标签: openssl


    【解决方案1】:

    您忘记在应用程序启动时调用 SSL_library_init()? 为了获得更多信息,您应该通过在“err”标签处调用 ERR_get_error() 和 ERR_error_string_n() 来阅读详细的 ssl 错误。

    【讨论】:

    • 是的,我已经按照您的建议通过应用 apps_startup() 解决了这个问题。谢谢
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 2016-10-06
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 2014-03-22
    相关资源
    最近更新 更多