我正在尝试根据其颁发者CA证书来验证签名者证书。我正在使用以下OpenSSL API来验证证书。
int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, unsigned int flags);
第一个参数包含以64为基数的编码消息。 第二个参数是CA和签署者证书的堆栈, 第三个参数是指向证书存储区的指针, 第四个和第五个参数是BIO指针。 最后一个参数设置为0。
当我尝试基于CA证书来验证签名者证书时,
CMS routines:CMS_SIGNERINFO_VERIFY_CERT:certificate verify error
签名者证书的颁发者证书是CA证书,并且CA和签名者证书均有效。
有人知道导致此验证失败的原因吗?以及解决它的任何方法?