Как получить ответы OCSP через openssl apis в данных cms со знаком - PullRequest
0 голосов
/ 16 сентября 2018

Я разработал некоторую логику для получения сертификатов и списка отзыва в данных, подписанных cms.Формат сертификатов - X509v3, а список отзыва - ответы OCSP.

Согласно RFC 5652 : «Ответы протокола OCSP могут поддерживаться с помощью OtherRevocationInfoFormat».

Итак, я #include <openssl/cms.h> и получаю сертификаты x509v3 через:

STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms);

(см .: https://www.openssl.org/docs/man1.1.0/crypto/CMS_get1_certs.html)

Но я не знаюкак получить ответы OCSP через openssl в C ++. Есть только:

STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms);

Но это получает список информации об аннулировании как crls, а не как ответ OCSP.

Я обнаружил, что в cms_lcl.h, информация об аннулировании включена в CMS_RevocationInfoChoice как тип объединения:

struct CMS_RevocationInfoChoice_st {
    int type;
    union {
        X509_CRL *crl;
        CMS_OtherRevocationInfoFormat *other;
    } d;
};

Но я не могу найти способ получить его. Нужно ли мне импортировать другие библиотеки

...