DKIM生成ツール

DKIM鍵ペアと、そのまま公開できるTXTレコードを生成します。

メールを送信するドメインです

DNS上でこの鍵ペアを識別する名前です(例:s2026a)

GmailとRFC 8301が推奨する長さです

生成した鍵でDKIMを設定する方法

  1. ドメインとセレクターを入力し、鍵の長さを選んで「DKIM鍵を生成」をクリックします。
  2. DNSサービスの管理画面でTXTレコードを作成します。上に表示されたレコード名(selector._domainkey、またはサービスが求める場合は完全な名前)を使い、TXTの値を貼り付けます。
  3. メールサーバーのDKIM署名の設定に秘密鍵を登録します。セレクターとドメインは同じものを使います。
  4. 個人のGmailアカウントにテストメールを送り、「メッセージのソースを表示」を開きます。DKIMの横にPASSと表示されれば成功です。

PASSにならない場合は、DNSレコードの反映が終わっているか、サーバーのセレクターがDNSのセレクターと完全に一致しているかを確認してください。DKIMとSPF、DMARCの関係についてはSPF・DKIM・DMARCの解説をご覧ください。

公開鍵と秘密鍵が暗号署名でメールを保護する様子のイラスト。

セレクターと鍵の長さの選び方

セレクターは単なるラベルです。後で見て分かる名前を選んでください。s2026aのように日付を使った名前にすると、鍵を交換するときにどれが現在の鍵かがすぐに分かります。セレクターには英字、数字、ハイフンを使えます。

鍵の長さは2048ビットを選ぶのが安全です。GmailはDKIM鍵に1024ビット以上を求め、2048ビットを推奨しています。RFC 8301も、署名する側は1024ビット以上を使わなければならず、2048ビットを使うべきだと定めています。同じRFCは受信側に4096ビットまでの鍵の処理を求めていますが、4096ビットのレコードは長く、一部のDNS管理画面ではうまく扱えません。そのため、4096ビットは理由がある場合にだけ選んでください。

DKIMレコードの中身

タグ意味例
vバージョンです。省略できますが、書く場合は先頭に置く必要がありますv=DKIM1
k鍵の種類です。初期値はrsaですk=rsa
pbase64でエンコードした公開鍵です。p=が空の場合は、鍵が失効したことを意味しますp=MIIBIjAN...
tフラグです。yはテスト中を、sはその鍵をサブドメインに使えないことを意味しますt=y

このほかに3つのタグ(ハッシュアルゴリズムのh、メモのn、サービスの種類のs)がありますが、使うことはほとんどありません。

長いDKIMレコードが分割される理由

2048ビットの公開鍵は、base64でエンコードすると約390文字になります。DNSはTXTのデータを1つあたり最大255文字の文字列として保存します(RFC 1035)。そのため、これだけ長い鍵は2つ以上の文字列に分けて公開する必要があります。受信側は署名を確認する前に、分かれた文字列を1つに結合します。多くのDNS管理画面では、1つの文字列の形式を貼り付けると自動で分割されます。上のゾーンファイル形式は、BINDのゾーンファイルを直接編集する方のためのものです。ゾーンファイルでは文字列を括弧で囲み、レコードを複数行に分けて書けます。

DKIM鍵の交換(ローテーション)

問題を起こさずに鍵を交換するには、新しいセレクターで新しい鍵ペアを生成し、そのレコードを古いレコードと並べて公開します。サーバーの署名を新しいセレクターに切り替え、古い鍵で署名したメールの配信が終わってから古いレコードを削除します。

よくある質問

鍵ペアはブラウザに組み込まれたWeb Crypto APIで作成され、秘密鍵が当社のサーバーやその他の場所に送信されることはありません。そのため、当社が秘密鍵を復元することもできません。ページを離れる前にダウンロードしてください。

メールサーバーのDKIM署名の設定にだけ登録します。DNSに載せたり、メールで送ったりしないでください。公開するのは、TXTの値に含まれる公開鍵だけです。

DNSサービスが長いレコードを保存できない場合を除き、2048ビットを使ってください。Gmailは最小値として1024ビットを受け付けますが、2048ビットを推奨しています。RFC 8301も、署名する側は2048ビット以上を使うべきだとしています。

TXTレコードの1つの文字列には最大255文字までしか入らず、2048ビットの鍵はそれより長いためです。受信側は分かれた文字列を1つの値に結合するので、分割してもレコードの内容は変わりません。

多くの署名ツールは標準のPKCS#8ファイル(BEGIN PRIVATE KEY)を受け付けます。ツールがBEGIN RSA PRIVATE KEYを求める場合は、PKCS#1版をダウンロードしてください。中身は同じ鍵で、形式が古いだけです。

サーバーから個人のGmailアカウントにメールを送り、そのメールを開いて「メッセージのソースを表示」を選びます。上の方にDKIMの結果が表示されます。自分のドメインでPASSになっていれば問題ありません。

使えません。どちらも独自のDKIM鍵を作成するため、それぞれの管理コンソールで設定してください。このツールは、署名用の鍵を自分で管理しているサーバー向けです。

DKIMを設定したら、次はメールリストを確認しましょう。

無料クレジット1,000件付き。クレジットカードは不要です。

無料で試せます クレジットに有効期限はありません 結果が不明のときはクレジットを返却