如何通过cms签名数据中的openssl api获取OCSP响应

时间:2018-09-16 14:50:49

标签: c++ openssl ocsp

我一直在开发一些逻辑,以便在cms签名数据中获取证书及其吊销列表。证书格式为X509v3,吊销列表为OCSP响应。

根据RFC 5652“可以使用OtherRevocationInfoFormat支持联机证书状态协议(OCSP)响应。”

所以我#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

但是,我不知道如何在C ++中通过openssl获得OCSP响应。只有:

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;
};

但是,我找不到办法。我需要导入其他库吗?

0 个答案:

没有答案