M2Crypto python ライブラリによって生成された PKCS7 ファイルがあります。これは次のようになります。
-----BEGIN PKCS7-----
MIIBWAYJKoZIhvcNAQcDo[cut]
-----END PKCS7-----
公開鍵によって暗号化されたバイナリ コンテンツです。
今度は C++ で解読する必要がありますが、この形式を認識しないようです。d2i_PKCS7_bio()
と を試しSMIME_read_PKCS7()
ましたが、常に次のようなエラーが発生します。
8957:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1316:
8957:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=PKCS7
次のようなコマンドラインで試行する同様のエラー:
openssl smime -decrypt -inform DER -binary -inkey privkey.pem
編集
私は正しいコマンドラインオプションを見つけました:
openssl cms -decrypt -in samplepkcs7.pem -inkey privkey.pem -inform pem
ここで、C++ で対応する関数を見つける必要があります。
たぶん私が間違っているかもしれませんが、これに関するドキュメントを見つけるのは本当に難しいです。どんな助けでも大歓迎です。