created: 2022-06-11T14:08:52.951Z
DKIMとは何かとAWSのSESで使う場合の作業をメモ
- メール署名の方法の 1 つ
- amazon-ses でサポートされている方式
- 設定すると送信者を検証できる
DKIM の大まかな流れ
こちらがわかりやすかった。
- メールを署名付きで送信
DKIM-Signature
というヘッダに署名と公開鍵の所在の 2 つを入れる
- 受け取った側は公開鍵で署名がデコードできることを確認する
ses で使う場合
ユーザは自分のドメインにいくつか DNS レコードを設定をするだけでよい
- 公開鍵を DNS の TXT レコードで取得できるようにする
- aws が管理するドメイン(
dkim.amazonses.com
)に TXT レコードが払い出される foobar.dkim.amazonses.com
というような
- aws が管理するドメイン(
- ユーザはその TXT レコードを指す CNAME レコードを追加する
- たとえば
foobar._domainkey.mydomain.jp
- たとえば
設定するとこんな流れになる
- ses のサーバから署名付きメール送信
DKIM-Signature
ヘッダ- ses 側で設定した署名がメールに自動的にくっつく
- 「公開鍵は
foobar._domainkey.mydomain.jp
に在る」となっている
- 受け取った側は署名を検証しようとして
foobar._domainkey.mydomain.jp
にアクセス - CNAME になっているので
foobar.dkim.amazonses.com
にリダイレクト foobar.dkim.amazonses.com
は TXT レコードで、そこで公開鍵を得られる- 公開鍵を使って署名を検証
良い点
- ユーザ側は DNS レコードの設定をするだけで済む
- 秘密鍵、公開鍵、署名の管理を自分でしないで済む