DNSに4028ビットDKIMキーを入力しようとしていますが、UDP 512バイト制限とTXTレコードの最大レコードサイズの両方を超えているようです。
誰かが(暗号化されたサイズが暗示されている)大きなキーを適切に作成し、それをDNSにインポートするにはどうすればよいですか?
DNSに4028ビットDKIMキーを入力しようとしていますが、UDP 512バイト制限とTXTレコードの最大レコードサイズの両方を超えているようです。
誰かが(暗号化されたサイズが暗示されている)大きなキーを適切に作成し、それをDNSにインポートするにはどうすればよいですか?
回答:
テキストフィールドでそれらを分割する必要があります。2048がキーサイズの実際的な制限であると考えています。テキストフィールドを255文字以下の部分に分割します。各分割にはオーバーヘッドがあります。
長いフィールドには2つの形式があります。
TXT "パート1" \ "パート2"
TXT( "パート1" "パート2")
どちらも「パート1パート2」として結合されます。 Zytraxからの詳細。
dkimエントリを生成するには、公開キーファイルを挿入し、引用符で囲みます。
私の公開鍵ファイルには次のものが含まれています。
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3
q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0
ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB
DNSゾーンファイルのキーを編集すると、次のように表示されます。
dkim3._domainkey IN TXT ("v=DKIM1; t=s; p="
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3"
"q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0"
"ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB")
DNSは次のように返します。
bill:~$ host -t TXT dkim3._domainkey.systemajik.com
dkim3._domainkey.systemajik.com descriptive text "v=DKIM1\; t=s\; p=" "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3" "q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0" "ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB"
DNSは、行が結合される余分なスペースのない1つの長い文字列としてそれを扱います。すべての" "
シーケンスは無視されます。
" "
シーケンスを無視するのはDNSではなく、実際に最後の引用でそれを証明します。SPF検証のためにDNSレコードを読み取るアプリケーションが連結を使用する必要があることを定義するのは、SPF RFC 4408セクション3.1.3です。
Amazon Route 53の場合、チャンク間に改行(スペースのみ)を使用しないでください。
"do it" "this way"
"not like"
"this"
pdnにpoweradmin UIを使用する場合、入力フィールドにdkim文字列全体を入力できます。
v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxtR3bw1Kbh1B7q4+5aWjTj2YEFwv230gcv+NMp4KouOSLdIr0mCMiwDZpY+7zCdks0zMXtz+F5TPij/NkSAxIKBbJqbIO3mvAhgeI0Vy5aQ5prwnIyXUj54po6AsXbv5Ud2tFbGSsdIhvWiC755d3WaFs8mdWFkpSxprlW6PobCzOWDayWGCvsNfHpjmTxHZinkd3TmLQqE/O6Nb1YnRwQwUCLioSyudV+5Bd2+rXZ2V9FYAOiK2aQi2aSTiUaLCVxft9H6xen3JDaKsuu43QMBrhydoJOCV2QaY82IxqE3GgZrlADu6YEOfotdwD2aA9GRwVB88GqdXL8HwgEGTbwIDAQAB
私はこの投稿が古くからあることを知っていますが、今日、「UltraDNSでDKIM 2048ビットキー」をクエリしたときに発見しました。私のDNSチームは、鍵を2つの部分に分割しようとしました。これにより、UltraDNSが3つのパケット(中央のパケットは空でした)を処理し、一貫性のない検証結果が発生していました。
UltraDNSコントロールパネルで私にとって有効だったのは、複数の引用符、区切り文字などのセットを使用せずに、引用符でレコード全体を送信することだけでした。期待どおりに動作します。
MySQL / MariaDBをDNSバックエンドとして使用している場合(PowerDNSなど)、コンテンツ列のサイズを変更できます。
デフォルトのPowerDNSコンテンツの長さはVARCHAR(255)です
したがって、DKIM署名は255文字にトリミングされます
これを修正する
MySQL CLI / MariaDB CLIを介してコンテンツサイズを変更するだけです
mysql -u root -p
USE powerdns;
alter table records modify column content text not null;
DNSサービス(PowerDNSなど)を再起動します
service pdns restart