Я пытаюсь проверить сертификат подписывающего лица на основании сертификата 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, и сертификат подписавшего действительны.
Кто-нибудь знает, что может быть причиной этой ошибки проверки? И есть ли способы обойти это?