OpenSSLでsmime.p7mファイルの内容(埋め込みファイルを含むメール)をデコード/抽出しますか?
質問
一般的なメールボックスを読み取り、特定の電子メールをデータベースに処理する古いプロセス(VBScript)があります。
新しい規制では、添付ファイル付きのすべてのメッセージがデジタル署名されるようになりました。
このプロセスでは、1つのファイル(smime.p7m)のみが抽出されるようになりました。 GUIベースのビューアを使用して、埋め込みファイルを表示し、問題なく抽出できます。しかし、私が本当に必要とするのは、埋め込まれたファイル(PDF、DOC、XLS)を書き出すコマンドラインベースのエクストラクターです。暗号化されておらず、署名されているだけです。証明書のないラップトップを使用してこれをテストし、前述のビューアでsmime.p7mファイルを単に開きました。
OpenSSLはこれをデコード/抽出し、誰かがWindowsでコンパイルされたバージョンを取得することができたようです。ただし、「smime.p7mファイルを開いて、見つかったすべての埋め込みファイルを書き出す」と言うだけの正しいフラグの組み合わせが見つからないため、実行可能ファイルの多くの試行錯誤テストはイライラさせられました。 " openssl smime"常に「cert.pem」が必要なようです。すべてのオプションの後、私はそれを持っていない。
不足しているものは何ですか?事前に感謝します。
解決 2
利用可能な唯一のオプションは、チルカットのライブラリを使用して簡単なプログラムを作成することです。このオプションは、開発者ごとのライセンスの種類に応じて149ドルまたは289ドルですが、少なくともロイヤリティフリーです。
他のヒント
" -noverify"を試しましたか? opensslのオプション?
署名のみのメッセージには、次を使用できます。 " openssl smime -verify -in -noverify -out / tmp / blob"
RFC822のようなパーサーを使用して、その「blob」から本文と添付ファイルを取得できます。つまり、パーサーはquoted-printableやbase64のようなエンコーディングに対応している必要があります。