首页 > 解决方案 > 什么可能导致 CMS 例程:CMS_SIGNERINFO_VERIFY_CERT:certificate verify 错误?

问题描述

我正在尝试根据其颁发者 CA 证书验证签名者证书。我正在使用以下 OpenSSL API 来验证证书。

int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, unsigned int flags);

第一个参数包含 base 64 编码的消息。第二个参数是 CA 和签名者证书的堆栈,第三个参数是指向证书存储的指针,第四和第五个参数是 BIO 指针。最后一个参数设置为 0。

当我尝试根据我得到的 CA 证书验证签名者证书时

CMS routines:CMS_SIGNERINFO_VERIFY_CERT:certificate verify error

签名者证书的颁发者证书是 CA 证书,并且 CA 和签名者证书都有效。

有谁知道可能导致此验证失败的原因?以及任何绕过它的方法?

标签: opensslcryptographyx509certificatex509x509certificatevalidator

解决方案


推荐阅读