Openssl

使用 openssl 提取證書資訊

  • January 29, 2016

我想驗證加密/簽名文件的發件人和“收件人”證書資訊。到目前為止,我為 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
...

因此,除了收件人的主題之外,我已經獲得了我正在尋找的大部分資訊。我如何提取這些資訊?

我不確定你做到這一點,因為recipientInfos結構沒有定義,例如根據RFC 5652,包含一個certificate。鑰匙,是的……但不是證書。

RFC 5652,第 6.1 節“EnvelopedData Type”指定 的結構OriginatorInfo,其中可能包含一組證書。第 6.2 節“ReicipientInfo 類型”和小節描述了可能RecipientInfo類型的結構;這些類型的結構都不包含證書。因此,鑑於目前的結構,可能無法實現您正在尋找的東西。

引用自:https://serverfault.com/questions/483701