DKIM DNSレコードジェネレーター
セレクター名と公開鍵(PEM形式)を入力するだけで、DKIM署名用のDNS TXTレコード(v=DKIM1; k=rsa; p=...)を自動生成します。255文字を超える長い公開鍵はBINDゾーンファイル形式で自動的に分割表記します。
Tips
- 公開鍵はopendkim-genkeyやOpenSSLの openssl genrsa → openssl rsa -pubout で生成したPEMファイルの中身をそのまま貼り付けられます。改行やヘッダー行は自動的に除去されます。
- テストモード(t=y)を有効にすると、DKIM検証に失敗した受信側サーバーが強く拒否せず様子見してくれる場合があります。本番運用へ切り替える前の検証期間に使うと安全です。
- 生成したレコードをDNSに登録した後は、本サイトのメール配信診断ツール(SPF/DKIM/DMARC診断)で実際に反映されているか確認することをおすすめします。
- 鍵長は1024bit・2048bitが一般的ですが、2048bit鍵は公開鍵の文字列が長くなり255文字を超えて複数の文字列に分割されるのが通常です。分割自体はエラーではありません。
- セレクター名は自由に決められますが、同じドメインで複数のメール配信サービスを使う場合は「google」「mailgun」のようにサービス名を含めると管理しやすくなります。
よくある質問
余談ですが ― 公開鍵暗号がメールの「なりすまし」を防ぐ仕組み
DKIM(DomainKeys Identified Mail)は2004年にYahoo!とCiscoが個別に開発していた技術(DomainKeysとIdentified Internet Mail)を統合する形で標準化されました。仕組みの核心は公開鍵暗号です。送信側はメールのヘッダーと本文の一部から計算したハッシュ値を秘密鍵で暗号化し、DKIM-Signatureヘッダーに添付します。受信側はDNSで公開されている公開鍵でこの署名を検証し、鍵ペアが正しく対応していれば「送信後に内容が改ざんされていない」ことを数学的に確認できます。
SPFが送信元IPアドレスというネットワークレベルの正当性を検証するのに対し、DKIMはメールの内容そのものに電子署名を施す点が本質的に異なります。そのためメールが正規の中継サーバーを何度も転送された場合でも(SPFはこの種の転送に弱いことが知られています)、DKIM署名は本文が変更されない限り有効性を保ちます。この特性から、DKIMはメーリングリストなど転送を伴う配信経路でもSPFより信頼性の高い認証手段として評価されています。
セレクターという仕組みも実務上重要です。1つのドメインが複数のメール配信サービス(自社サーバー・Gmail・SendGridなど)を併用する場合、それぞれに別々の鍵ペアとセレクター名を割り当てることで、サービスごとに独立して鍵を無効化・更新できます。1つの鍵が漏えいしても他のセレクターには影響しないという運用上の柔軟性が、DKIMがDNSレコード1本の単純な仕組みでありながら大規模なメールインフラで長く使われ続けている理由の一つです。