Skip to main contentSkip to footer

DKIM-Generator: DKIM-Schlüssel und DNS-Eintrag erstellen

Erzeugen Sie ein RSA- oder Ed25519-Schlüsselpaar direkt im Browser, erhalten Sie den DNS-Eintrag in dem Format, das Ihre Oberfläche annimmt, und prüfen Sie den Schlüssel nach dem Veröffentlichen. Der private Schlüssel verlässt diese Seite nie. Kostenlos, ohne Anmeldung.

Der Eintrag wird in Ihrem Browser erstellt, und nichts, was Sie unten eingeben, wird an irgendeinen Ort gesendet. Lediglich die Funktionen „Veröffentlichten Eintrag laden“ und „Prüfen“ senden eine Anfrage an unseren Server, der die öffentlichen DNS-Einträge für die Domain abfragt.

Schlüsseltyp

Ein TXT-Eintrag pro Zeile, so wie Ihr DNS-Panel oder dig TXT sie zeigt. Zwei Zeilen derselben Art werden als Fehler gemeldet, denn genau diesen Fehler soll die Prüfung finden.

Was ist ein DKIM-Eintrag?

Mit DKIM (DomainKeys Identified Mail, RFC 6376) signiert ein Mailserver jede ausgehende Nachricht mit einem privaten Schlüssel. Der passende öffentliche Schlüssel steht als TXT-Eintrag unter selector._domainkey.example.com. Ein Empfänger holt ihn, prüft die Signatur und weiß damit, dass die Nachricht wirklich von einem Server mit Ihrem Schlüssel stammt und unterwegs nicht verändert wurde.

Der Generator erzeugt das Schlüsselpaar mit der Kryptografie des Browsers (WebCrypto), schreibt den DNS-Eintrag und behält den privaten Schlüssel auf dieser Seite, bis Sie ihn speichern. Nichts vom Schlüssel geht an unseren Server.

Brauchen Sie einen DKIM-Generator?

Ihr Anbieter erzeugt den Schlüssel: dann nicht

Microsoft 365, Google Workspace, Brevo, Mailchimp, SendGrid, Amazon SES und fast jeder gehostete Dienst erzeugen das Schlüsselpaar selbst und zeigen Ihnen den Eintrag zum Veröffentlichen, oft als CNAME, der in deren eigenes DNS zeigt. Nehmen Sie deren Eintrag; ein Schlüssel von hier nützt ihnen nichts, weil sie die private Hälfte nie sehen würden.

Sie betreiben den Mailserver: dann ja

Postfix mit OpenDKIM, rspamd, Exim, ein Mailserver im Container, ein selbst gehostetes Newsletter-Tool oder eine Anwendung, die ihre E-Mails selbst signiert: Sie alle brauchen ein Schlüsselpaar, das Sie erzeugen, und einen Eintrag, den Sie veröffentlichen. Dafür ist dieser Generator da. Die meisten dieser Programme lesen den privaten Schlüssel als PEM-Datei, genau das Format, das Sie hier herunterladen.

DKIM-Schlüssel in drei Schritten erstellen

1. Wählen Sie Selector und Schlüsseltyp. Den Selector suchen Sie selbst aus, zum Beispiel den aktuellen Monat wie 202610. Er steht in jeder Signatur als s= und erlaubt mehrere Schlüssel nebeneinander. RSA 2048 ist für fast alle der richtige Schlüsseltyp.

2. Erzeugen, speichern, einrichten. Klicken Sie auf „Schlüsselpaar generieren“, laden Sie den privaten Schlüssel herunter und legen Sie ihn auf den Mailserver. Stellen Sie den Server so ein, dass er für Ihre Domain mit diesem Selector signiert. Halten Sie die Datei geheim: Wer sie hat, kann E-Mails in Ihrem Namen signieren.

3. Veröffentlichen und prüfen. Legen Sie den TXT-Eintrag an, warten Sie, bis er sichtbar ist, geben Sie oben Domain und Selector ein und klicken Sie auf „Veröffentlichten Eintrag laden“. Die Prüfung liest den Schlüssel aus dem DNS und meldet Typ und genaue Länge.

So tragen Sie den DKIM-Eintrag ein

Feld Wert
Typ TXT
Name / Host 202610._domainkey, also Selector plus ._domainkey; die Oberfläche ergänzt die Domain
Wert v=DKIM1; k=rsa; p=MIIBIjANBg...

Ein 2048-Bit-Schlüssel ergibt einen Wert von etwa 410 Zeichen. Eine einzelne TXT-Zeichenkette fasst höchstens 255, deshalb speichert DNS längere Werte als mehrere Zeichenketten, die der Empfänger wieder zusammensetzt. Gute Oberflächen erledigen das selbst. Für die anderen bietet der Generator denselben Eintrag in drei Formen:

  • Ein Wert für Oberflächen, die lange Werte selbst aufteilen (Cloudflare, die meisten modernen Oberflächen).
  • In 255-Zeichen-Ketten aufgeteilt, jede in Anführungszeichen, für Oberflächen, die genau das speichern, was Sie einfügen.
  • Zeile für die Zonendatei in BIND-Syntax für Ihren eigenen Nameserver.

Lehnt eine Oberfläche auch die aufgeteilte Form ab, begrenzt sie die Gesamtlänge. Dann ist RSA 1024 der Ausweg, den jeder Empfänger noch akzeptiert. Wechseln Sie aber den DNS-Anbieter, wenn Sie können.

Was im DKIM-Eintrag steht

Tag Bedeutung
v=DKIM1 Version. Laut Standard optional, von vielen Tools erwartet.
k=rsa oder k=ed25519 Schlüsseltyp. Fehlt der Tag, gilt rsa.
p= Der öffentliche Schlüssel in Base64. Ein leeres p= bedeutet: Der Schlüssel ist widerrufen.
t=y Test: Empfänger behandeln eine fehlerhafte Signatur wie eine unsignierte Nachricht.
t=s Streng: Der Schlüssel darf nur für genau diese Domain signieren, nicht für Subdomains.
h= Erlaubte Hash-Verfahren. Weglassen; alle nutzen sha256.

RSA 2048, RSA 1024 oder Ed25519?

RSA 2048 ist der Standard: von jedem Empfänger akzeptiert, als sicher eingestuft, nur die Länge des Eintrags macht manchmal Ärger. RSA 1024 ist das Minimum, das Empfänger noch annehmen; nutzen Sie es nur, wenn das DNS Sie dazu zwingt. Ed25519 (RFC 8463) ist modern und kurz, etwa 60 Zeichen, wird aber noch nicht von jedem Empfänger geprüft. Veröffentlichen Sie es als zweiten Schlüssel unter eigenem Selector neben einem RSA-Schlüssel, nie allein.

Selectoren gängiger Anbieter

Wenn Sie einen bestehenden Schlüssel suchen: Google Workspace nutzt google, Microsoft 365 selector1 und selector2, SendGrid s1 und s2, Mailchimp k2 und k3. Amazon SES verwendet drei zufällige Kennungen, die Sie in der SES-Konsole finden. Der Email Security Check probiert diese Namen automatisch.

Ohne Browser: Schlüssel mit OpenSSL erzeugen

Dasselbe Schlüsselpaar lässt sich direkt auf dem Server erzeugen. Dann berührt der private Schlüssel nie einen Arbeitsplatzrechner.

RSA 2048:
openssl genrsa -out 202610.private.pem 2048
openssl rsa -in 202610.private.pem -pubout -outform der | openssl base64 -A
Der zweite Befehl gibt den Wert aus, der hinter p= gehört.

Ed25519:
openssl genpkey -algorithm ed25519 -out 202610.ed25519.pem
openssl pkey -in 202610.ed25519.pem -pubout -outform der | tail -c 32 | openssl base64 -A
Für Ed25519 veröffentlicht DKIM den reinen 32-Byte-Schlüssel, nicht die ganze Struktur. Deshalb werden die letzten 32 Byte herausgeschnitten.

Mit rspamd geht es in einem Schritt: rspamadm dkim_keygen -s 202610 -d example.com -b 2048 gibt Schlüssel und Eintrag zusammen aus.

DKIM-Schlüssel wechseln

Ein Schlüssel, der sich nie ändert, kann unbemerkt abhandenkommen. Wechseln Sie alle sechs bis zwölf Monate, und sofort, wenn ein Server mit dem Schlüssel kompromittiert war. Mit Selectoren ist der Wechsel einfach: neuen Schlüssel unter neuem Selector erzeugen, seinen Eintrag veröffentlichen, den Mailserver auf den neuen Selector umstellen und den alten Eintrag noch eine Woche im DNS lassen, damit Nachrichten, die noch unterwegs sind, prüfbar bleiben. Danach veröffentlichen Sie den alten Selector mit leerem p=; das sagt Empfängern, dass der Schlüssel widerrufen ist.

Selectoren nach dem Monat ihrer Erstellung zu benennen, wie der Generator es vorschlägt, zeigt auf einen Blick, welcher Schlüssel aktuell ist.

Häufige Fragen zum DKIM-Generator

Wird mein privater Schlüssel übertragen oder gespeichert?

Nein. Das Schlüsselpaar entsteht mit WebCrypto in Ihrem Browser und existiert nur in diesem Tab. „Veröffentlichten Eintrag laden“ liest den öffentlichen Schlüssel aus dem DNS, der ohnehin öffentlich ist. Laden Sie den privaten Schlüssel herunter, bevor Sie die Seite schließen oder neu laden, denn danach lässt er sich nicht wiederherstellen.

Brauche ich für Microsoft 365 oder Google Workspace einen DKIM-Generator?

Nein. Beide erzeugen den Schlüssel selbst. Bei Microsoft 365 veröffentlichen Sie zwei CNAME-Einträge namens selector1 und selector2 und schalten die Signatur dann im Defender-Portal ein; bei Google Workspace erzeugen Sie den Schlüssel in der Admin-Konsole unter Gmail-Authentifizierung und veröffentlichen den dort angezeigten TXT-Eintrag.

Welche Schlüssellänge soll ich für DKIM nehmen?

RSA 2048. Wird überall akzeptiert und gilt als sicher. 1024 Bit ist das Minimum und lohnt sich nur, wenn Ihre DNS-Oberfläche keinen längeren Wert speichern kann. Mehr als 2048 bringt wenig, und manche Empfänger kommen mit 4096-Bit-Schlüsseln schlecht zurecht.

Was ist ein DKIM-Selector?

Ein frei gewählter Name, der Empfängern den richtigen Schlüssel zeigt. Eine Signatur trägt s=202610, der Empfänger fragt dann 202610._domainkey.example.com ab. Verschiedene Dienste sowie alte und neue Schlüssel bekommen so je einen eigenen Selector, ohne sich in die Quere zu kommen.

Wie oft sollte ich den DKIM-Schlüssel wechseln?

Alle sechs bis zwölf Monate, und sofort, wenn ein Server mit dem Schlüssel kompromittiert war. Veröffentlichen Sie den neuen Schlüssel zuerst unter einem neuen Selector, stellen Sie die Signatur um und lassen Sie den alten Eintrag noch etwa eine Woche stehen, bevor Sie ihn widerrufen.

Der Wert ist zu lang für mein DNS-Feld. Was tun?

Nehmen Sie die aufgeteilte Form, die den Wert in Zeichenketten von höchstens 255 Zeichen in Anführungszeichen zerlegt. Lehnt die Oberfläche auch die ab, begrenzt sie die Gesamtlänge; dann erzeugen Sie einen RSA-1024-Schlüssel, dessen Wert etwa 220 Zeichen lang ist.

So arbeitet das Tool, und hier sind seine Grenzen

RSA-Schlüssel entstehen mit RSASSA-PKCS1-v1_5 und SHA-256 bei 2048 oder 1024 Bit, Ed25519-Schlüssel mit der Ed25519-Umsetzung des Browsers, sofern es sie gibt; ältere Browser bieten Ed25519 nicht an, und der Generator sagt das. Der private Schlüssel wird als PKCS#8-PEM exportiert, das OpenDKIM, rspamd und Exim lesen. Der öffentliche Schlüssel wird bei RSA als SubjectPublicKeyInfo veröffentlicht, bei Ed25519 als reiner 32-Byte-Schlüssel, wie RFC 8463 es verlangt.

„Veröffentlichten Eintrag laden“ fragt unseren Resolver nach dem TXT-Eintrag unter dem Selector, den Sie eingegeben haben, und lässt den DKIM-Validator des Email Security Check laufen. Bei RSA meldet er die genaue Modulus-Länge, gelesen aus dem Schlüssel selbst, nicht geschätzt aus der Textlänge.

Ob Ihr Mailserver tatsächlich signiert, kann das Tool nicht sehen. Schicken Sie eine Nachricht an eine Adresse, die Sie kontrollieren, und suchen Sie im Header Authentication-Results nach dkim=pass, oder beobachten Sie die DMARC-Berichte.