Что может вызвать подпрограммы CMS:CMS_SIGNERINFO_VERIFY_CERT: ошибка проверки сертификата?
Я пытаюсь проверить сертификат подписывающего лица на основании сертификата 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. Второй параметр - это стек сертификатов ЦС и подписавшего. Третий параметр - указатель на хранилище сертификатов. Четвертый и пятый параметры - указатели BIO. Последний параметр установлен в 0.
Когда я пытаюсь проверить сертификат подписывающего лица на основе сертификата CA, я получаю
CMS routines:CMS_SIGNERINFO_VERIFY_CERT:certificate verify error
Сертификат эмитента для сертификата подписывающего лица является сертификатом CA, и оба сертификата CA и подписавшего лица действительны.
Кто-нибудь знает, что может быть причиной этой ошибки проверки? И есть ли способы обойти это?