4

ポストフィックス用にopendkimを設定しましたが、すべての送信メールにDKIM-Signatureの見出しが付いています。私がやりたいのは、DNSと外部ユーティリティを使用せずに、できればopensslのみを使用して、メッセージが正しい署名を取得していることを手動で確認することです。したがって、入力データとして私は持っています:

  • DKIM-電子メールの署名ヘッダー
  • DKIMセレクター、DKIMドメイン
  • DKIM秘密鍵
  • DNSに配置する必要があるレコードの形式の場合はDKIMパブリック署名

問題は、opensslなどのCLIユーティリティを使用して、DKIMパブリック署名を使用してDKIM署名を復号化および/または検証する方法です。

4

2 に答える 2

1

メールの送信元から直接確認するには

  • .eml電子メール (通常はファイル) をダウンロードする

  • パイソンをインストール

  • pip install dkimpy

  • dkimverify < email_file.eml

    または、次のことができます

    • dkimverify
    • ソースを貼り付け
    • Ctrl+D

ソース

その他の方法

于 2021-04-02T18:24:59.273 に答える
0

それは可能ですが、ユーティリティが最善の方法であるとは複雑ですが、もしあなたがそれを行う方法は次のとおりです。

  1. 検証に必要なヘッダーを準備し、実際の署名ハッシュなしで最後に dkim-signature を追加します。

  2. 使用される正規化アルゴリズムに従ってヘッダーを正規化します。

  3. ボディに制限が設定されている場合は、カットしてから正規化する必要があります。

  4. ボディ ハッシュを計算し、それが dkim 署名のハッシュと同一である場合は続行します。

  5. 次のパラメーターを指定して、OpenSSL を使用してヘッダー ハッシュを検証します。

    a. ヘッダー ハッシュ。

    b. 正規化されたヘッダー。

    c. 公開鍵

    d. 使用されるハッシュ アルゴリズム (SHA1 または SHA256)。

これを行うために PHP の openssl_verify() 関数を使用したため、コマンドの例を提供することはできません。

すでにこれを行っているかどうか、またその方法を教えていただければ幸いです。

于 2013-11-16T23:45:55.790 に答える