使用 openssl 提取证书信息

使用 openssl 提取证书信息

我想验证加密/签名文件的发件人和“收件人”证书信息。到目前为止,我为 openssl 提出了以下一组参数:

openssl cms -inform DER -cmsout -print -recip my.crt -in cms_file

这将返回以下信息:

CMS_ContentInfo: 
  contentType: pkcs7-envelopedData (1.2.840.113549.1.7.3)
  d.envelopedData: 
    version: 2
    originatorInfo:
...
            issuer: O=TheirCompany, CN=TheirCA
...
            subject: O=TheirCompany, CN=TheirEndpoint
...
    recipientInfos:
...
          issuer: O=TheirCompany, CN=TheirCA
...

因此,除了收件人的主题外,我已获得我所寻找的大部分信息。我该如何提取这些信息?

答案1

我不确定你这样做,因为recipientInfos结构没有定义,例如RFC 5652,包含一个证书。是的,有密钥……但不是证书。

RFC 5652 第 6.1 节“EnvelopedData Type”指定了 的结构OriginatorInfo,其中可能包含一组证书。第 6.2 节“ReicipientInfo 类型”及其子节描述了可能类型的结构RecipientInfo;这些类型的结构均不包含证书。因此,鉴于当前的结构,可能无法实现您所寻找的内容。

相关内容