DNS DKIM Records auftrennen

DNS TXT haben eine Einschränkung. Strings dürfen nicht länger sein als 255 Bytes.

Diese Einschränkung ist spürbar, wenn man lange SPF Records oder lange DKIM Records erstellt. In dem Fall müssen die Records aufgeteilt werden.

Nehmen wir einen DKIM Record als Beispiel.

Erstellt man einen Schlüssel mit 2048 bits, sieht der so aus:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApet+d5U8yvCfBAzcAdS5
uID/r4Cj4naN1U2fBnxd2aMFLjWn6GHwUvoZuYCYtK23RglWE3meOvD1hxzsHnGm
xPIyujltbns+wUlzdKms6eWfhjfoaO5Ifg/0NRHxI0tEBZE6XX2cWP2rHUpVQ+aw
No0JeurqRCTz7WQufWKa9H4n5hpLpnLYNOuRxThy3ezZgcfsqWND5NsIdDdrPvEQ
ok8YFr5FaMahGUI4OoMwwKjuLo24YfSqUMiNVFk00yveNvB1qJHKUrRIUfIE4grm
D4gjQFIV9n7tT7kdnFb0inPvXxMJSTGFN7Sz+ifNA7DMSVjpBWTuhuY3OK4gBQAk
AwIDAQAB
-----END PUBLIC KEY-----

Daraus wird folgender DKIM Record erstellt:

selector._domainkey.domain IN TXT "v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApet+d5U8yvCfBAzcAdS5uID/r4Cj4naN1U2fBnxd2aMFLjWn6GHwUvoZuYCYtK23RglWE3meOvD1hxzsHnGmuID/r4Cj4naN1U2fBnxd2aMFLjWn6GHwUvoZuYCYtK23RglWE3meOvD1hxzsHnGmxPIyujltbns+wUlzdKms6eWfhjfoaO5Ifg/0NRHxI0tEBZE6XX2cWP2rHUpVQ+awNo0JeurqRCTz7WQufWKa9H4n5hpLpnLYNOuRxThy3ezZgcfsqWND5NsIdDdrPvEQok8YFr5FaMahGUI4OoMwwKjuLo24YfSqUMiNVFk00yveNvB1qJHKUrRIUfIE4grmD4gjQFIV9n7tT7kdnFb0inPvXxMJSTGFN7Sz+ifNA7DMSVjpBWTuhuY3OK4gBQAkAwIDAQAB"

Dieser String ist nun länger als 255 Bytes. DNS hat damit Probleme und schneidet den Schlüssel ab. Es gibt aber einen Workaround dazu. Man teilt den einen String in mehrere kürzere Teilstrings auf.

Der DKIM Record sieht in dem Fall so aus:

selector._domainkey.domain IN TXT "v=DKIM1;k=rsa;" "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApet+d5U8yvCfBAzcAdS5" "uID/r4Cj4naN1U2fBnxd2aMFLjWn6GHwUvoZuYCYtK23RglWE3meOvD1hxzsHnGm" "xPIyujltbns+wUlzdKms6eWfhjfoaO5Ifg/0NRHxI0tEBZE6XX2cWP2rHUpVQ+aw" "No0JeurqRCTz7WQufWKa9H4n5hpLpnLYNOuRxThy3ezZgcfsqWND5NsIdDdrPvEQ" "ok8YFr5FaMahGUI4OoMwwKjuLo24YfSqUMiNVFk00yveNvB1qJHKUrRIUfIE4grm" "D4gjQFIV9n7tT7kdnFb0inPvXxMJSTGFN7Sz+ifNA7DMSVjpBWTuhuY3OK4gBQAkAwIDAQAB"

Jetzt sind die Strings im TXT Record kurz genug und es liegt an der Anwendung, die sie benutzt, diese Strings zusammen zu fügen.

Kleiner Hinweis: Im ersten Beispiel sind die Gänsefüsschen am Anfang und am Schluss des Records. Im zweiten Beispiel gibt es mehrere Teile in Gänsefüsschen, abgetrennt durch Leerschläge.

Weitere Informationen finden sie hier ⇒kb.isc.org