Route 53は長さが長すぎるためDKIMキーの追加を許可しません


41

DKIMキーの値を入力する方法は次のとおりです。

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwztXzIUqic95qSESmnqX U5v4W4ENbciFWyBkymsmmSNOhLlEtzp/mnyhf50ApwCTGLK9U7goo/ijX/wr5roy XhReVrvcqtIo3+63a1Et58C1J2o4xCvp0K2/lM6hla4B9jSph7QzjYdtWlOJqLRs o0nzcut7DSq/xYcVqvrFDNbutCfG//0wcRVUtGEyLX/a/7mAAkW6H8UEYMPglQ9c eEDfTT6pzIlqaK9cHGOsSCg4r0N8YxnHFMRzKaZwmudaXTorSbCs7e681g125/vJ e82VV7DE0uvKW/jquZYtgMn7+0rm+2FDYcDx/7lzoByl91rx37MAJaUx/2JHi1EA nwIDAQAB"

この値には新しい行はありません(貼り付けてテキストエディターでテストしました)。しかし、何らかの理由で私はTXTが長すぎるエラーを取得し続けます:

TXTRDATATooLongは「V = DKIM1に遭遇; K = RSA; P = MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwztXzIUqic95qSESmnqX U5v4W4ENbciFWyBkymsmmSNOhLlEtzp / mnyhf50ApwCTGLK9U7goo / IJX / wr5roy XhReVrvcqtIo3 + 63a1Et58C1J2o4xCvp0K2 / lM6hla4B9jSph7QzjYdtWlOJqLRs o0nzcut7DSq / xYcVqvrFDNbutCfG // 0wcRVUtGEyLX / A / 7mAAkW6H8UEYMPglQ9c eEDfTT6pzIlqaK9cHGOsSCg4r0N8YxnHFMRzKaZwmudaXTorSbCs7e681g125 / VJ e82VV7DE0uvKW / jquZYtgMn7 + 0rm + 2FDYcDx / 7lzoByl91rx37MAJaUx / 2JHi1EA nwIDAQAB」

私はこの問題を解決するために何をすべきか本当に知りません。


それぞれの後にスペースを削除してみてください。
Drifter104

AWS route 53 DKIMでもこの問題が発生しました...これを解決しましたか?Amazon AWSのメンテナンスが不十分であることがわかりました... Q / Aフォーラムを使用してみてください...古くて陳腐な15年前のWeb UIの冗談
Scott Stensland

@ScottStensland受け入れられている回答ノートにあるように、これはAWSのせいではなく、簡単な解決策があります。
ceejayoz

回答:


56

Route 53フォーラムで同様の問題を参照してください

残念ながら、TXTレコードの文字列ごとの255文字の制限はRoute53の制限ではなく、DNSプロトコル自体によって課された制限です。ただし、各TXTレコードには、それぞれ255文字の長さの複数の文字列を含めることができます。TXTレコードのために、DKIMを複数の文字列に分割する必要があります。コンソールを介してこれを行うには、引用符で囲まれた各文字列を1行に1文字ずつ入力します。

重要な注意:指示にあるように、「行ごとに1つの文字列」を使用しないでください。たとえば、文字列を単一のスペースで区切ります。"foo" "bar"ない"foo"\n"bar"DKIMValidatorを使用して、署名が正しく読み取られていることを検証します。


12
また、TXTレコードを追加するときにAWSが示すように改行/ crではなく、各終了/開始引用符の間に1つのスペースがあることを確認してください。これらは別個のレコードではありません"p=sdfgkjhsdfg...." "sdklfjsdf....."
-bshea

5
改行v / sスペースが問題でした。ありがとう@bshea
ネハルJワニ

40

引用符付きテキストのチャンクに分割できます。チャンクあたりの最大長は255です。各チャンクを正確にする必要はありません。

たとえば、値が次のように見える場合:

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"

あなたは任意の場所でそれを切り刻むことができます:

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz" "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab" "cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"

これらは各チャンク間の単一のスペースであり、改行ではないことに注意してください!

当然のことながら、Googleのセットアップ手順はひどいものです。私は完全なガイドまで書いた Route53にこれを行う方法のために。


3
「これらは、各チャンク間の改行ではなく、単一のスペースです!」これは私にとって重要でした。切り替えてすぐに働きました、ありがとう!
アレックスYurkowski

1
これは受け入れられた答えであるはずです。
ニコライツェンコフ

奇妙なことに、スペースは既存のTXTレコードに私のSPF値を追加するとき、それはAWSルート53に働くだろう前に、しかし、私は、改行ではなくスペースを引用符で囲まれた文字列を分離しなければならなかった、DKIMのために働いていた
adam0101

5

AWS Route53上のDKIM

DMARCレコードを255文字の部分に分割する必要があります。AWS Route53を使用してDNSをホストする場合、引用符で囲まれた各部分を"..."レコードに挿入します。

パーツを分割するために改行を使用しないでください。これは別個のTXTエントリになるためです。

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

になる

"v=DKIM1; k=rsa; p=ABC123longkeypart1" "ABC123longkeypart2"

TerraformとRoute53の使用

Terraformを使用してRoute53レコードをプロビジョニングする場合、DKIMキーも最大255文字のパーツに分割する必要があります。

TerraformはTXTエントリの引用を処理するので、各パート間で引用を提供する必要があります\"\"

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

になる

resource "aws_route53_record" "some_domain_dkim" {
  zone_id = "${aws_route53_zone.some_domain.zone_id}"
  name    = "google._domainkey.some_domain.com."
  type    = "TXT"
  ttl     = "3600"

  records = [
    "v=DKIM1; k=rsa; p=ABC123longkeypart1\"\"ABC123longkeypart2"
  ]
}

参照:https : //www.terraform.io/docs/providers/aws/r/route53_record.html#records


3

Google AppsでTXTを生成するときに、2048ではなく1024を選択し、これをルート53に追加するだけです。


4
これを行う理由はありません-選択した回答に2048を追う場合。dkimレコードを引用符と単一のスペースで接続します。それが動作します。
bshea
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.