ドメインから送信されるニュースレター (メーリング リスト) に DKIM 署名を適用しようとしています。残念ながら、ここでドメインの名前を明らかにすることはできないので、{mydomain}.co.il と呼びます。私のセレクターは「mta1」です。
オンラインの指示に従ってティーを作成しましたが、結果をテストすると、署名のあらゆる面でエラーが発生しました!
http://www.port25.com/support/domainkeysdkim-wizard/を使用して公開鍵と秘密鍵を作成しました。行を含む秘密鍵全体を.pemファイルにコピーしました
-----BEGIN RSA PRIVATE KEY-----
MIICX...{rest of private key goes here}
-----END RSA PRIVATE KEY-----
ドメインで DKIM 署名を使用するように hMailServer をセットアップし、それを秘密鍵に向けて、SHA1 を使用するように指示しました (これは CPU への負荷が少なく、大量のメーリング リストにより適していると理解しています)。
そしてもちろん、次のように DNS レコードをセットアップします。
mta1._domainkey.{mydomain}.co.il =
v=DKIM1; k=rsa; h=sha1; s=email; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCptw7j4dessLrTmSKC1rg3yyB5
Vql0U+lzVoWXSHKB8f6ly7jgVze4Xp6V9U7OgcT/DRm421pUwcNgjO85yevxvISM
V64wAgfus6sCZI/eL8owRXpclbq89ap59TW75V5I9iDcCqKxpKoqjiuDP2pQwUbB
KphAb+vd8asNX8GRCQIDAQAB
_domainkey.{mydomain}.co.il =
t=y;o=~;
最初に、 http://dkimcore.org/tools/dkimrecordcheck.htmlでDNS レコードを確認したところ、次のような愚かさがわかりました。
p= MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDtjJF/34Z3g5bk/qP7cf0UxSNj 5nAodXgCQ7c0CJq1fIyY3QWl4l4LnYNJ11yIsCB13eQbAzx6gQOiLg0getR17D5i GMmK5EIp5kGn6PC3afjiaXlwS6geM59BINxXAwn6/GTwhdS0i0lnJ7bJePbrC7+E Xn9pxfXr1q79n3RCuwIDAQAB
The p= field must be base64 encoded
...しかし、これは port25.com によって生成された公開鍵の正確なコピーです!
次に、次のような実際の DKIM 署名をテストしました。
dkim-signature: v=1; a=rsa-sha1; d={mydomain}.co.il; s=mta1;
c=relaxed/relaxed; q=dns/txt; h=From:Reply-To:Subject:Date:Message-ID:To:MIME-Version:Content-Type:List-Help:List-Unsubscribe:List-Post:List-Owner:List-Archive;
bh=MrAZfkhgb6I02eyuqIKMb+Zg1L0=;
b=GmncisEWZjOhQfnnEzZNTAbOvqo+7JJSU52tbpA103Alw5jTIy3UF4L6xWpajQjP4P76UyByOcS8cAr9i8VIBxr/qrArqwYpOfd9teQ0Adx58Ywn03dsNWDs+succQSZ3EkrQJFf7cQFdbakEHzrzEAYJYLQaoSx3KbitFf2Kjc=
http://www.appmaildev.com/en/dkim/でDKIM 署名付きメールをテストしたところ、次のエラーが表示されました。
Exception: No records found for given DNS query
...しかし、これは真実ではありません!
次のエラーも発生しました。
============================================================
DKIM result: fail (wrong body hash: MrAZfkhgb6I02eyuqIKMb+Zg1L0=)
============================================================
Signed by: office@{mydomain}.co.il
Expected Body Hash: hr++FhCjnb1cH9c0FJGJsCnCgNA=
私は何を間違っていますか?これを修正するために私ができることを誰かが知っていますか?