DKIM-Pubkey-Generator

Nach RFC 6376 + RFC 8463

RSA-2048/4096 oder Ed25519 Key-Paar lokal erzeugen; Public-Key als DKIM-DNS-TXT, Private-Key als PEM-Download.

Was ist das, und wann brauche ich es?

Was ist das?

DKIM (DomainKeys Identified Mail, RFC 6376) signiert ausgehende Mails kryptografisch. Der Empfangs-Mailserver prüft die Signatur mit dem öffentlichen Schlüssel, der im DNS unter <selector>._domainkey.<ihre-domain> liegt.

Anders als SPF überlebt DKIM Weiterleitungen, weil die Signatur an den Mail-Inhalt hängt - nicht an die sendende IP. Das macht DKIM zur robusteren Hälfte der DMARC-Bewertung.

Dieses Tool erzeugt das DNS-TXT-Record-Format für einen gegebenen Public Key. Das Schlüsselpaar selbst sollte Ihr Mail-Provider erzeugen (Google Workspace, Microsoft 365, SendGrid, Brevo etc. haben das im Dashboard) - das ist sicherer als ein lokal generierter Key.

Wann brauche ich das?

Sobald Sie überhaupt Mails senden. Praktisch alle Mailprovider unterstützen DKIM mit einem Klick im Dashboard, und das DNS-Record-Format ist dafür immer dasselbe.

Schlüssel-Länge: 2048 bit RSA ist der heutige Standard. Ed25519 funktioniert bereits bei Gmail und vielen anderen, ist aber noch nicht universell - im Zweifel ein zweiter Selektor mit RSA als Fallback.

Sollte vorher schon vorhanden sein

Was passiert hier kryptographisch

Das Schlüsselpaar wird in Ihrem Browser via Web-Crypto-API (SubtleCrypto.generateKey) erzeugt. Privat- und Public-Key existieren nur in diesem Tab. Wir speichern, senden und loggen nichts. Wenn Sie die Seite schließen, sind die Schlüssel weg - daher den Private-Key vor dem Schließen herunterladen.

Der Public-Key wird als p=<base64-SPKI> in den DKIM-DNS-Record geschrieben. Der Private-Key (PKCS#8-PEM) wandert auf den MTA, der ausgehende Mails signiert (Postfix-OpenDKIM, exim4, Microsoft 365-Custom-Domain, Mailgun-Custom-Key, ...).

Selektor-Rotation

DKIM-Best-Practice: alle 6-12 Monate ein neuer Selektor mit frischem Schlüssel. Roll-out:

  1. Neuen Selektor (z. B. k2026q3) erzeugen.
  2. Neuen DNS-Record veröffentlichen, alten parallel lassen.
  3. MTA so umstellen, dass er den neuen Selektor zum Signieren nimmt.
  4. ~30 Tage warten (genug Zeit für Empfänger-DNS-Caches und nachträgliche Mail-Auswertungen).
  5. Alten Selektor revoken: Public-Key durch p= ersetzen (leerer p-Wert = revoked) oder DNS-Eintrag entfernen.

Was wir bewusst nicht tun

  • Keine Schlüssel-Speicherung. Hier generierte Schlüssel sind nirgendwo bei uns abrufbar. Wer den Tab schließt, hat sie verloren.
  • Keine MTA-Konfiguration. Wie Sie den Private-Key auf OpenDKIM/Postfix/Office-365 einspielen, hängt vom Stack ab - wir liefern nur das Schlüsselmaterial im Standard-PEM-Format.
  • Keine DNS-Veröffentlichung. Den TXT-Record bringen Sie selbst beim DNS-Anbieter ein.

Bestehenden DKIM-Selektor prüfen

Liest <selector>._domainkey.<domain> und prüft v/k/p-Tags gegen RFC 6376 + RFC 8463.

Server-Pfad: Diese Inspektion läuft NICHT browser-lokal. Wir holen den DNS-Record bzw. die HTTPS-Antwort über unseren Server. Wir loggen weder die abgefragte Domain noch das Ergebnis. 12 Anfragen pro Minute pro IPv4-Adresse bzw. IPv6-/64-Subnet.

So tragen Sie diesen Record beim DNS-Provider ein

Der oben generierte Eintrag besteht aus drei Teilen: dem Record-Typ (typisch TXT, manchmal CAA), dem Host (Subdomain wie _dmarc, _smtp._tls oder leer für die Stamm-Domain) und dem Wert (der eigentliche Inhalt in Anführungszeichen). Diese drei Felder werden bei jedem DNS-Provider genauso abgefragt - nur das Menü-Wording unterscheidet sich.

INWX (Dernium-Standard für Neukunden)
  1. Login bei www.inwx.de.
  2. Reiter Nameserver → Domain auswählen → Nameserver-Sets verwaltenDNS-Einträge.
  3. Knopf Neuen Eintrag anlegen.
  4. Typ wählen (z. B. TXT), Hostname eintragen (für die Stamm-Domain das Feld leer lassen, sonst _dmarc o. Ä.), Wert einfügen, TTL bei 3600 belassen.
  5. Speichern. Propagation üblich innerhalb von 5-15 Minuten.
Strato
  1. Login im Strato-Kundenservicebereich.
  2. Menü Domains → Domain auswählen → Verwalten.
  3. Abschnitt DNS-VerwaltungNameserver/DNS-Einstellungen anpassen.
  4. Bei Eigene DNS-Verwaltung den passenden Record-Typ wählen (TXT-Records sind ein eigener Block), Hostname und Wert einfügen.
  5. Speichern. Strato propagiert typisch innerhalb 30-60 Minuten.
Hetzner DNS-Console
  1. Login bei dns.hetzner.com.
  2. Zone der Domain anklicken.
  3. Knopf Record hinzufügen → Typ wählen, Name eintragen (für Stamm-Domain @), Wert in das Value-Feld.
  4. Speichern. Propagation typisch unter 5 Minuten.
IONOS (1&1)
  1. Login im IONOS-Kundencenter.
  2. Menü Domains & SSL → Domain anklicken → DNS.
  3. Knopf Eintrag hinzufügen → Typ wählen, Hostname eintragen, Wert in das Inhalt-Feld.
  4. Speichern. Propagation typisch 15-60 Minuten.
Cloudflare
  1. Login bei Cloudflare, Domain auswählen.
  2. Reiter DNSRecords.
  3. Knopf Add record → Typ wählen, Name eintragen (für Stamm-Domain @), Wert einfügen, Proxy-Status für TXT/CAA auf DNS only belassen.
  4. Speichern. Propagation üblich unter 2 Minuten.

Hinweis: Wenn Ihr DNS-Anbieter hier nicht aufgeführt ist, finden Sie die richtige Stelle typisch unter Begriffen wie „DNS-Verwaltung", „Zone-Editor" oder „Records". Bei Fragen hilft der Support Ihres Providers; die hier gezeigten Pfade sind plattform-spezifisch und können sich bei Redesigns leicht verschieben.