如果签名颁发者与证书颁发者不同,CMS_verify将失败

时间:2017-12-15 08:49:23

标签: security openssl pkcs#7

尝试使用

验证签名数据结构时
openssl smime -verify -in EF_SOD.PEM -inform pem -noverify

我收到此错误:

Verification failure
10280:error:2107C080:PKCS7 routines:PKCS7_get0_signers:signer certificate not found:pk7_smime.c:378:

签名发布者的身份似乎与嵌入式证书颁发者的身份完全不同。

这是两个发行人:

issuer: CN=CSCAEC_BE_3, OU=FEDERAL PUBLIC SERVICE FOREIGN AFFAIRS BELGIUM, O=KINGDOM OF BELGIUM, C=BE
issuer: C=BE, O=KINGDOM OF BELGIUM, OU=FEDERAL PUBLIC SERVICE FOREIGN AFFAIRS BELGIUM, CN=CSCAEC_BE_3

根据RFC 5280,这两个名称在完全相同的顺序中具有完全相同的属性。 这是否意味着数据结构已损坏?

最初,我想在代码中使用CMS_verify进行验证:

nRet = CMS_verify(pCMS, certs, NULL, NULL, NULL, CMS_NO_SIGNER_CERT_VERIFY);

有没有办法对函数进行参数化以使其成功?

谢谢!

0 个答案:

没有答案