Schlüssel werden in Ihrem Browser erzeugt und verlassen ihn nie

Kostenloses Tool

DKIM Generator

Erstellen Sie einen DKIM-Schlüssel samt DNS-Eintrag, ohne dass der Schlüssel je einen Server berührt

Erzeugen Sie ein DKIM-Schlüsselpaar mit RSA-2048 oder Ed25519 — mit der Kryptografie Ihres eigenen Browsers. Laden Sie den privaten Schlüssel als PEM-Datei herunter, kopieren Sie den TXT-Record für selector._domainkey, hinterlegen Sie ihn im DNS und beginnen Sie zu signieren.

Der Selektor benennt Ihren Schlüssel im DNS. Wählen Sie frei — datierte Selektoren wie dkim-202608 machen die nächste Rotation offensichtlich.

Schlüsseltyp

Das Schlüsselpaar wird von der WebCrypto-API in Ihrem Browser erzeugt und verlässt ihn nie. Diese Seite stellt während der Generierung keinerlei Netzwerkanfragen: kein Upload, kein Beacon, keine DNS-Abfrage. Der private Schlüssel existiert nur auf dieser Seite, bis Sie ihn herunterladen.

DKIM mit diesem Generator einrichten

Von null zu signierten E-Mails in vier Schritten: erzeugen, hinterlegen, signieren, prüfen.

  1. 1

    Schlüsselpaar erzeugen

    Wählen Sie einen Selektornamen und einen Schlüsseltyp und starten Sie die Generierung. RSA mit 2048 Bit ist die sichere Wahl; Ed25519 nur, wenn Ihre Empfänger es nachweislich unterstützen.

  2. 2

    TXT-Record im DNS hinterlegen

    Legen Sie in Ihrer DNS-Zone einen TXT-Record unter {selector}._domainkey mit dem erzeugten Wert an. DNS-Änderungen greifen meist innerhalb von Minuten bis wenigen Stunden.

  3. 3

    Privaten Schlüssel installieren

    Laden Sie die PEM-Datei herunter und konfigurieren Sie Ihren Mailserver, OpenDKIM, rspamd oder Ihr Gateway so, dass ausgehende E-Mails damit signiert werden — mit demselben Selektornamen.

  4. 4

    Eintrag prüfen

    Prüfen Sie Domain und Selektor mit dem DKIM-Check, um zu bestätigen, dass der hinterlegte Schlüssel lesbar, ausreichend stark und aktiv ist.

Wann Sie einen eigenen DKIM-Schlüssel brauchen

Die meisten gehosteten Anbieter liefern Ihnen einen fertigen Eintrag oder CNAME. Einen eigenen Schlüssel erzeugen Sie, wenn Sie:

  • einen eigenen Mailserver mit Postfix und OpenDKIM oder rspamd betreiben.
  • ein E-Mail-Gateway oder eine Appliance konfigurieren, die ausgehend signiert.
  • einen bestehenden Schlüssel planmäßig oder nach einer Offenlegung auf einen neuen Selektor rotieren.
  • einen schwachen 1024-Bit-Schlüssel durch einen mit 2048 Bit ersetzen.
  • zusätzlich zum RSA-Schlüssel einen Ed25519-Schlüssel für Empfänger mit RFC-8463-Unterstützung hinterlegen.
  • DKIM in einer Test- oder Staging-Umgebung einrichten, ohne Produktionsschlüssel anzufassen.

DKIM-Schlüssel verstehen

Was der erzeugte Eintrag bedeutet

Ein DKIM-Schlüsseleintrag hat drei Tags: v=DKIM1 deklariert die Version des Eintrags und steht an erster Stelle, k= benennt den Schlüsseltyp (rsa oder ed25519), und p= trägt den öffentlichen Schlüssel, base64-kodiert. Bei RSA ist der p=-Wert die DER-kodierte SubjectPublicKeyInfo — dieselbe Ausgabe wie openssl rsa -pubout. Ein leeres p= hat eine definierte Bedeutung: Der Schlüssel ist widerrufen.

Warum RSA mit 2048 Bit der Standard ist

RFC 8301, die die ursprüngliche DKIM-Kryptografie aktualisiert hat, legt die heutigen Regeln fest: Verifizierer müssen Schlüssel unter 1024 Bit ablehnen, Signierer müssen mindestens 1024 Bit verwenden und sollten 2048 Bit oder mehr einsetzen. Ein RSA-Schlüssel mit 1024 Bit wird noch überall verifiziert, gilt aber gegenüber moderner Faktorisierung als schwach; 2048 Bit ist die Größe, die man heute erzeugt. Längere Schlüssel funktionieren ebenfalls — Verifizierer müssen bis 4096 Bit verarbeiten —, bringen in der Praxis aber wenig und erschweren das Hinterlegen im DNS.

Ed25519-Schlüssel und der Stand der Unterstützung

RFC 8463 hat Ed25519 als zweiten DKIM-Algorithmus ergänzt: Schlüssel mit 256 Bit, deren Sicherheit weit größeren RSA-Schlüsseln entspricht, und ein p=-Wert, der kurz genug ist, um TXT-Limits nie zu berühren. Zwei Einschränkungen. Im DNS-Eintrag ist p= der rohe 32-Byte-Schlüssel in base64 — nicht die DER-Hülle wie bei RSA; genau dieser Unterschied bricht viele handgebaute Setups. Und die Unterstützung auf Empfängerseite ist noch die Ausnahme: Ein Ed25519-Schlüssel gehört neben einen RSA-Schlüssel, signiert wird mit beiden. Im Browser funktioniert die Ed25519-Generierung über WebCrypto in aktuellen Versionen von Chrome und Edge (137+), Firefox (130+) und Safari (17+); dieses Tool erkennt die Unterstützung und deaktiviert die Option, wo sie fehlt.

TXT-Records und die 255-Zeichen-Grenze

Eine einzelne Zeichenkette in einem TXT-Record fasst höchstens 255 Bytes, und ein p=-Wert eines RSA-Schlüssels mit 2048 Bit überschreitet diese Grenze. Das ist vorgesehen: Ein TXT-Record darf mehrere Zeichenketten enthalten, die DKIM-Verifizierer vor dem Parsen zusammensetzen. Die meisten DNS-Anbieter teilen lange Werte automatisch. Lehnt Ihrer den Eintrag ab, teilen Sie den Wert in zwei Zeichenketten in Anführungszeichen — die Trennstelle ist beliebig, auch mitten im Schlüssel.

DKIM-Schlüssel rotieren

Rotation heißt: einen neuen Schlüssel unter einem neuen Selektor hinterlegen, den Signierer darauf umstellen und erst danach den alten Selektor widerrufen, indem sein p=-Tag geleert wird. Lassen Sie den alten Eintrag aktiv, bis damit signierte E-Mails die Warteschlangen der Empfänger verlassen haben — üblich sind einige Tage. Verwenden Sie einen Selektornamen nie für einen neuen Schlüssel wieder, und widerrufen Sie den alten Schlüssel nie, bevor der neue nachweislich signiert: Diese beiden Fehler verursachen die meisten selbst verschuldeten DKIM-Ausfälle.

Umgang mit dem privaten Schlüssel

Der private Schlüssel gehört auf den signierenden Host und nirgendwo sonst. Beschränken Sie die Dateirechte auf den Signierprozess, committen Sie ihn nie in ein Repository und fügen Sie ihn nie ins DNS ein — der Eintrag enthält nur die öffentliche Hälfte. Wird der private Schlüssel offengelegt, kann jeder E-Mails im Namen Ihrer Domain signieren, bis Sie rotieren: Erzeugen Sie sofort einen Ersatz unter einem neuen Selektor und widerrufen Sie den offengelegten.

Die Generierung ist nur die halbe Arbeit. Prüfen Sie den Eintrag nach dem Hinterlegen mit dem DKIM-Check — er ruft den Eintrag so ab, wie Empfänger ihn sehen, dekodiert Typ und Stärke des Schlüssels und findet abgeschnittene oder falsch geteilte Werte, bevor sie Zustellbarkeit kosten.

Häufige Fragen

Was erzeugt dieser DKIM Generator?
Zwei Dinge: einen privaten Schlüssel als PKCS#8-PEM-Datei, den Sie auf dem Server oder in der Software installieren, die Ihre ausgehenden E-Mails signiert, und den passenden öffentlichen Schlüssel als Wert für den DNS-TXT-Record (v=DKIM1; k=rsa; p=...), den Sie unter {selector}._domainkey.{domain} im DNS hinterlegen.
Ist es sicher, einen DKIM-Schlüssel im Browser zu erzeugen?
Das Schlüsselpaar wird von der WebCrypto-API Ihres eigenen Browsers auf Ihrem Rechner erzeugt. Diese Seite stellt während der Generierung keinerlei Netzwerkanfragen: Der private Schlüssel wird nie hochgeladen oder protokolliert und verschwindet beim Verlassen der Seite, sofern Sie ihn nicht herunterladen. Wenn Ihre Richtlinien verlangen, dass Schlüssel auf dem signierenden Host selbst erzeugt werden, verwenden Sie dort openssl — das Format des Eintrags ist identisch.
Soll ich RSA oder Ed25519 wählen?
RSA mit 2048 Bit — außer Sie wissen, dass Ihre Empfänger Ed25519 unterstützen. RFC 8301 schreibt Signierern RSA-Schlüssel mit mindestens 1024 Bit vor und empfiehlt 2048 Bit oder mehr; RSA wird von jedem DKIM-Verifizierer unterstützt. Ed25519 (RFC 8463) bietet vergleichbare Sicherheit mit deutlich kürzeren Schlüsseln, die Unterstützung auf Empfängerseite ist aber noch begrenzt — hinterlegen Sie einen Ed25519-Schlüssel daher zusätzlich zu einem RSA-Schlüssel, nicht an dessen Stelle.
Wie hinterlege ich den erzeugten Eintrag im DNS?
Legen Sie in der DNS-Zone Ihrer Domain einen TXT-Record mit dem Hostnamen {selector}._domainkey an (manche DNS-Anbieter erwarten den vollen Namen {selector}._domainkey.{domain}) und tragen Sie den erzeugten Wert als Inhalt ein. Konfigurieren Sie anschließend Ihren Mailserver oder Ihre Versandsoftware so, dass sie mit dem privaten Schlüssel und diesem Selektornamen signiert.
Warum lehnt mein DNS-Anbieter den Eintrag als zu lang ab?
Eine einzelne Zeichenkette in einem TXT-Record fasst höchstens 255 Bytes, ein öffentlicher RSA-Schlüssel mit 2048 Bit ergibt aber einen längeren Wert. RFC 6376 sieht dafür vor, den Wert auf mehrere Zeichenketten in Anführungszeichen aufzuteilen, die Verifizierer wieder zusammensetzen. Die meisten DNS-Anbieter teilen automatisch; tut Ihrer das nicht, trennen Sie den p=-Wert an beliebiger Stelle in zwei Zeichenketten.
Was mache ich mit der Datei des privaten Schlüssels?
Installieren Sie sie dort, wo Ihre ausgehenden E-Mails signiert werden: bei OpenDKIM oder rspamd auf einem selbst betriebenen Server oder in der DKIM-Konfiguration Ihres Mail-Gateways. Halten Sie den Schlüssel geheim und hinterlegen Sie ihn nie im DNS — dorthin gehört nur der öffentliche Eintrag. Wird der Schlüssel jemals offengelegt, erzeugen Sie einen neuen unter einem neuen Selektor und widerrufen den alten Eintrag.
Ist dieser DKIM Generator kostenlos?
Ja. Der Generator ist vollständig kostenlos und erfordert keine Registrierung. Da die Schlüssel vollständig in Ihrem Browser erzeugt werden, sehen wir Ihre Schlüssel nie — es gibt auf unserer Seite nichts zu speichern.

Belegen Sie jetzt, dass Ihre DKIM-Signatur funktioniert

Ein hinterlegter Eintrag heißt nicht, dass Empfänger Ihre Signaturen akzeptieren. Erstellen Sie ein kostenloses Konto, um Ihre aggregierten DMARC-Berichte auszuwerten und DKIM-Bestehensquoten je Absender zu sehen. Bezahlte Tarife alarmieren Sie, sobald sich Ihr DKIM-, SPF-, DMARC- oder MX-Eintrag ändert — auch bei einem widerrufenen oder defekten Schlüssel.