問題タブ [smime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
email - 複数の受信者の SMIME 復号化
JAVA で SMIME ベースのアプリケーションを開発するとします。これらは、SMIME の暗号化/復号化についてより明確にする必要がある特定の領域です。単一の受信者の場合のメッセージの暗号化と復号化の方法を理解しました。
受信者が 1 人だけの場合
- メッセージ コンテンツの暗号化に使用される、ランダムに生成されたセッション キー。
- 次に、このランダムなセッション キーが受信者の公開キーを使用して暗号化され、SMIME メッセージが送信されます。
- 暗号化されたメッセージは受信者の秘密鍵を使用して復号化され、受信者側でメッセージの暗号化に使用されたセッション キーが取得されます。
複数の受信者がそこにいる場合は、
- メッセージ コンテンツの暗号化に使用される、ランダムに生成されたセッション キー。
- メッセージが複数の受信者に送信される場合、対称キーはすべての受信者の公開キーによって個別に暗号化されます。エンベロープ メッセージとすべての暗号化された対称キーは、PKCS#7 形式を使用して一緒にパッケージ化されます。
- 次に、このランダムなセッション キーは、各受信者の公開キーを使用して暗号化され、SMIME メッセージが送信されます。
複数の受信者の暗号化されたセッション キーが同じメッセージに付属している場合、
- 受信側での復号化はどのように行われますか?
- 受信者はすべての暗号化されたセッション キーを反復処理し、セッション キーの復号化を試みていますか?
- 受信者が 50 人いる場合、受信者はすべての受信者の暗号化されたテキストをセッション キー用に復号化する必要がありますか?
役立つリソースを見つけたり、質問に対する回答を提供したりできる人はいますか?
c - CMS (PKCS#7) 受信者情報
私は実際に、PKCS7 mime 暗号化メッセージから RecipientInfo を抽出する関数に取り組んでいます。これを行う理由は、メッセージが暗号化されているすべてのメールアドレス (または少なくともキー ID/フィンガープリント) を取得したいからです。
まあ-私は何かを試してみて、次のようなものを作成しました(indataは* .p7m添付コンテンツ、indata_lenはindataのstrlenです):
エラーは発生しませんが (ERR_get_error() で確認)、keyid、issuer、および sno は「null」のままです。上記のコードの出力は次のとおりです。
キー: (ヌル)
だから私の質問は、暗号化されたメッセージのその情報を取得することさえ可能ですか、それとも私の側の推論に誤りがあるだけですか?
そのデータを取得できる場合、誰かヒントを教えてもらえますか? それが不可能な場合、復号化に使用する秘密鍵を確認するデフォルトの (最善の) 方法は何ですか。1 人のユーザーに対して複数の S/Mime 証明書/キーが存在する可能性があるためです。たとえば、古いキーが失われたために新しいキーを作成するか、プロバイダーから新しい証明書とキーの組み合わせを取得するだけです... Imho、メッセージが本当に大きい場合、すべてのキーをループすると時間がかかる場合があります。
よろしく、マックス
c# - EWS: 署名付き電子メールからの添付ファイルの取得
添付ファイルを取得し、電子メールをサブフォルダーに分類することで、リソース メールボックスを管理する C# プログラムがあります。最近、クライアントが署名付きの電子メールを送信したいという問題が発生したため、プログラムが添付ファイルを取得すると、添付ファイルの代わりに「smime.p7m」という名前のファイルが保存されます。このファイルは、Outlook で電子メールを確認するときに存在せず、必要な添付ファイルのみが存在します。ただし、コードをステップ実行すると、電子メール オブジェクトに一覧表示される添付ファイルにはこの.p7m
ファイルのみが含まれます。
メールから MIME コンテンツを取得しましたが、それは単なるバイトです。テキスト エディターで .p7m ファイルを見ると、一番下のファイルに必要なファイルの内容が表示されます (究極のいじめ)。目的のコンテンツの .p7m ファイルを解析せずに元の添付ファイルを取得するにはどうすればよいですか?
Exchange サーバーは 2010 SP2 であり、これはすべて EWS マネージ API を利用する C# プログラムを介して行われます。
c# - 電子メールを復号化するときに Mimekit が不正なデータを引き起こす
暗号化された電子メールを作成する電子メール アプリケーションがあります。それは Outlook で正常に動作し、私が電子メールを送信するすべての電子メールの相手方は問題を報告していません。ただし、Mimekit でそれらを復号化しようとすると、「Bad data」例外が発生します。
スタック トレースの一部:
私の電子メール MIME は次のようになります。
これが私の暗号化の実行方法です。
これが私が解読しようとする方法です:
エンベロープされた cms を直接使用して自分でコンテンツを復号化しても、問題はありません。
これは、私自身の復号化後のメールです。
誰がこれを引き起こしているのかを見ることができますか?
jstedfast によって提案された DummySecureMimeContext を使用すると、機能します。より詳細なチュートリアルは、https ://github.com/jstedfast/MimeKit/issues/38 にあります。
macos - openssl を使用して s/mime 署名を検証する方法
OpenSSL を使用して s/mime 署名を検証する方法。コマンドラインを介して、次のように確認できます。
openssl smime -verify
Mac OSX でのコマンドと同等の方法は何ですか?