web-dev-qa-db-ja.com

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
...

だから私は、受信者の主題を除いて、私が探しているほとんどの情報を持っています。この情報を抽出するにはどうすればよいですか?

3
Willem

recipientInfos構造が定義されていないため、canでこれを実行できるかどうかはわかりません egper RFC 5652certificateを含む。キー、はい...しかし証明書ではありません。

RFC 5652、セクション6.1「EnvelopedDataType」は、OriginatorInfoの構造を指定します。これには、mayに一連の証明書が含まれます。セクション6.2「ReicipientInfoタイプ」およびサブセクションでは、可能なRecipientInfoタイプの構造について説明します。これらのタイプの構造には証明書が含まれていません。したがって、現在の構造を考えると、あなたが探しているものを達成することは不可能かもしれません。

0
Castaglia