DKIM-Generator

Erstellen Sie ein DKIM-Schlüsselpaar in Ihrem Browser und erhalten Sie den Eintrag zum Veröffentlichen. Auf Google Workspace oder Microsoft 365? Dort wird der Schlüssel erstellt: Wir zeigen, wo.

Schlüssel mit Web Crypto in Ihrem Browser erstellt, nie gesendet · RFC 6376, 8301 und 8463 · DKIM-Einrichtung von 20 Absendern geprüft
Beispiel

Einen Schlüssel für example.com erzeugen

In Ihrem Browser mit Web Crypto erstellt. Der private Schlüssel verlässt diesen Tab nie.

Wer signiert Ihre Mails?
Erstellt den Schlüssel selbst
Nimmt Ihren Schlüssel
Nutzt Ihren Schlüssel
kSchlüsseltyp

Was RFC 8301 verlangt. Die übliche Wahl.

sSelektor
._domainkey.example.com
Ein neuer Name für jeden neuen Schlüssel. Namen mit Datum sagen, wann er erstellt wurde.
tEintragsoptionen
Erweitert
In Ihrem Browser mit Web Crypto erstellt. Der private Schlüssel verlässt diesen Tab nie.

Ihr Schlüssel

Privater Schlüssel · Auf Ihrem Server behaltenIsolierter Frame: kein Netzwerk, und kein anderes Skript dieser Seite kann ihn lesen

Funktioniert offline: Schalten Sie Ihr WLAN aus und erzeugen Sie erneut.

OpenDKIM einrichten

Schlüsseldatei
# Key file: only the opendkim user may read it
$ sudo mkdir -p /etc/opendkim/keys/example.com
$ sudo nano /etc/opendkim/keys/example.com/s.private
$ sudo chown -R opendkim:opendkim /etc/opendkim/keys
$ sudo chmod 600 /etc/opendkim/keys/example.com/s.private

Rotationsplan

  1. HeuteVeröffentlichen Sie und beginnen Sie dann, damit zu signieren.
  2. In sechs MonatenErstellen Sie … und veröffentlichen Sie es neben .
  3. WechselnMit … signieren.
  4. 7 bis 30 Tage späterLassen Sie für noch unterwegs befindliche Mails veröffentlicht.
  5. WiderrufenVeröffentlichen Sie einen leeren Schlüssel bei , löschen Sie ihn nicht.v=DKIM1; k=rsa; p=

Nach dem Veröffentlichen

Vollständige Prüfung: example.comDer Link enthält diese Einstellungen, nie einen Schlüssel. Aus Ihrem Browser gefragt: Resolver von Cloudflare, der von Google als zweite Meinung.

Wie erstelle ich einen DKIM-Schlüssel und DKIM-Eintrag?

Erstellen Sie ein RSA-2048-Schlüsselpaar, behalten Sie den privaten Schlüssel auf dem Server, der Ihre Mails signiert, und veröffentlichen Sie den öffentlichen als TXT-Eintrag bei selector._domainkey.yourdomain (RFC 6376).

Wählen Sie für jeden Schlüssel einen neuen Selektornamen, etwa den Monat der Erstellung, damit der alte Schlüssel veröffentlicht bleiben kann, solange damit signierte Mails noch unterwegs sind.

Installieren Sie dann den privaten Schlüssel in Ihrem Signierer und senden Sie eine Testnachricht: Der Header DKIM-Signature nennt die Domain (d=) und den Selektor (s=), die Empfänger nachschlagen.

Privater Schlüsselbleibt auf Ihrem Mailserversigniert jede Nachricht
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s202610; …
Öffentlicher Schlüsselim DNS veröffentlichts202610._domainkey.example.comEmpfänger verifizieren damit ✓
Zwei Hälften eines Schlüssels
DKIM-Generator mit privatem RSA-2048-Schlüssel in einem isolierten Browser-Frame, OpenDKIM-Dateien und RotationsplanDKIM-Generator mit privatem RSA-2048-Schlüssel in einem isolierten Browser-Frame, OpenDKIM-Dateien und RotationsplanEin privater Schlüssel, den kein anderes Skript lesen kannIn einem isolierten Frame erstellt und gehalten, der das Netzwerk nicht erreicht.Die Form, die Ihr Signierer liestPKCS#8, PKCS#1 oder eine Zeile Base64, passend für Ihren Signierer gewählt.Null Anfragen, und es funktioniert offlineEine Live-Zählung der Netzwerkanfragen, seit Sie auf Erzeugen gedrückt haben.Die Dateien Ihres SignierersOpenDKIM, rspamd, Exim, Postfix oder Amazon SES, mit Ihrer Domain und Ihrem Selektor ausgefüllt.Ein datierter SelektorSein Name sagt, wann der Schlüssel erstellt wurde; der Rotationsplan darunter datiert den nächsten Schlüssel und den Widerruf.
Ein RSA-2048-Schlüssel für OpenDKIM, mit Web Crypto erstellt: der private Schlüssel in einem isolierten Frame ohne Netzwerk, die Dateien des Signierers ausgefüllt und der Rotationsplan mit echten Daten.

Muss ich meinen eigenen DKIM-Schlüssel erstellen?

Nur wenn Ihr eigener Server Ihre Mails signiert: Google Workspace, Microsoft 365 und die meisten E-Mail-Dienste erstellen den Schlüssel selbst und zeigen Ihnen den Eintrag zum Veröffentlichen, daher würde ein Schlüssel aus einem Generator nie benutzt.

Ihr eigener Schlüssel zählt bei Postfix mit OpenDKIM, rspamd, Exim, Haraka, Ihrer eigenen App und Diensten, die einen annehmen, wie Amazon SES (BYODKIM) und Mailgun.

AbsenderSchlüssel erstellt vonSie veröffentlichenSelektoren
Google Workspacedem AnbieterTXT (deren Schlüssel)google
Microsoft 365dem AnbieterCNAMEs auf deren Schlüsselselector1, selector2
SendGriddem AnbieterCNAMEs auf deren Schlüssels1, s2
Mailchimpdem AnbieterCNAMEs auf deren Schlüsselk2, k3
Postmarkdem AnbieterTXT (deren Schlüssel)<date>pm
Brevodem AnbieterCNAMEs auf deren Schlüsselbrevo1, brevo2
Zoho Maildem AnbieterTXT (deren Schlüssel)zoho
Amazon SESbeiden möglichTXT (Ihr Schlüssel)beliebig
Mailgunbeiden möglichTXT (Ihr Schlüssel)beliebig
OpenDKIMIhnenTXT (Ihr Schlüssel)beliebig
rspamdIhnenTXT (Ihr Schlüssel)beliebig
EximIhnenTXT (Ihr Schlüssel)beliebig
Wer den Schlüssel erstellt

Was steht in einem DKIM-Eintrag?

Ein TXT-Eintrag bei selector._domainkey.domain mit v=DKIM1, dem Schlüsseltyp k= und dem öffentlichen Schlüssel p=; optionale Tags begrenzen die Hashes (h=) oder Dienste (s=) oder markieren den Schlüssel als Test (t=).

Ein leeres p= bedeutet, dass der Schlüssel widerrufen ist. RSA-Schlüssel werden als SubjectPublicKeyInfo veröffentlicht, was OpenDKIM und rspamd verlangen; Ed25519-Schlüssel als die rohen 32 Bytes.

s202610._domainkey.example.com · TXT
v=DKIM1; k=rsa; h=sha256; s=email; p=MIIBIjANBgkqhkiG9w0BAQ…GQIDAQAB
TagBedeutungStandard
vVersion, an erster Stelle, wenn vorhandenDKIM1
kSchlüsseltyp: rsa oder ed25519rsa
hErlaubte Hashesalle
sDienste: email oder **
ty = Test, s = genaue Domainkeiner
nNotizen für Menschenkeine
pDer öffentliche Schlüssel; leer = widerrufenerforderlich
Ein DKIM-Eintrag, Tag für Tag

RSA 1024, 2048, 4096 oder Ed25519?

Nutzen Sie RSA 2048: 1024 ist das Minimum, das Empfänger akzeptieren, 4096 belastet DNS, und Ed25519 ist kurz, aber unabhängige Tests fanden, dass die großen Postfachanbieter es nicht verifizieren, es hilft also nur neben einer RSA-Signatur.

Viele Tools nutzen noch 1024 als Standard: opendkim-genkey, dkim_keygen von rspamd und Microsoft 365. RFC 8301 verlangt 2048.

Wenn Sie Ed25519 ergänzen, signieren Sie auch mit RSA, unter einem zweiten Selektor; Yahoo besteht DMARC womöglich nicht, wenn eine von mehreren aligned Signaturen fehlschlägt.

RSA 1024234 Zeichen · 1das Minimum
RSA 2048410 Zeichen · 2empfohlen
RSA 3072582 Zeichen · 3prüfen Sie Ihren Signierer
RSA 4096754 Zeichen · 3passt womöglich nicht in UDP
Ed2551966 Zeichen · 1von den großen Anbietern nicht verifiziert

Strings zu 255 Bytes: 255, 510, 765

Eintragslänge je Schlüsseltyp

Wie richte ich DKIM bei OpenDKIM, rspamd oder Exim ein?

Legen Sie den privaten Schlüssel dort ab, wo nur der Signierer ihn lesen kann, ordnen Sie ihm in der Konfiguration des Signierers Ihre Domain und Ihren Selektor zu und starten Sie neu; die Tabs zeigen die Dateien jedes Signierers mit Ihren Namen.

Prüfen Sie das Ergebnis, indem Sie sich selbst eine Nachricht senden und ihr DKIM-Ergebnis in den Headern lesen, oder mit unserem DKIM Checker.

OpenDKIM · KeyTable · SigningTable
# /etc/opendkim/KeyTable
s202610._domainkey.example.com example.com:s202610:/etc/opendkim/keys/example.com/s202610.private

# /etc/opendkim/SigningTable
*@example.com s202610._domainkey.example.com

# /etc/opendkim/TrustedHosts
127.0.0.1
localhost
Rspamd · dkim_signing.conf
# /etc/rspamd/local.d/dkim_signing.conf
domain {
  example.com {
    selector = "s202610";
    path = "/var/lib/rspamd/dkim/example.com.s202610.key";
  }
}
# only if example.com is a subdomain: use_esld = false;
# only if users log in without @example.com: allow_username_mismatch = true;

$ sudo rspamadm configtest && sudo systemctl restart rspamd
Die Dateien Ihres Signierers

Warum ist mein DKIM-Eintrag in mehrere Strings geteilt?

Der Eintrag eines 2048-Bit-Schlüssels hat etwa 410 Zeichen, mehr als ein TXT-String von 255 Bytes, daher speichert DNS ihn als zwei Strings, die Prüfer ohne Zwischenraum zusammenfügen.

Cloudflare, Azure und Oberflächen im Stil von cPanel nehmen den ganzen Wert und teilen ihn; Route 53 und Google Cloud DNS wollen, dass Sie die Strings in Anführungszeichen einfügen. GoDaddy begrenzt einen Wert auf 1024 Zeichen.

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIaM9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQAB
1255 B2155 B
s202610._domainkey.example.com. 3600 IN TXT ( "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIa"
	"M9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQAB" )
Ein 2048-Bit-Eintrag, wie DNS ihn speichert

Wie rotiere ich DKIM-Schlüssel?

Veröffentlichen Sie einen neuen Schlüssel unter einem neuen Selektor, stellen Sie die Signierung darauf um, behalten Sie den alten Eintrag 7 bis 30 Tage für Mails, die noch unterwegs sind, und widerrufen Sie ihn dann mit einem leeren p=; M3AAWG sagt, mindestens alle sechs Monate rotieren.

Widerrufen Sie, statt zu löschen, damit Prüfer den alten Selektor als widerrufen melden. Verwenden Sie einen Selektornamen nie für einen neuen Schlüssel wieder.

NovDezJanFebMärAprMaiJunJul
s202611signiert7–30 Tage behaltenp= (widerrufen)
s202705signiert
Zwei Selektoren, eine Übergabe

Ist es sicher, einen DKIM-Schlüssel online zu erstellen?

Nur wenn der Schlüssel in Ihrem Browser erstellt und nie gesendet wird: Diese Seite erstellt ihn mit Web Crypto in einem isolierten Frame, der das Netzwerk nicht erreichen kann, was Sie in den Entwicklertools Ihres Browsers bestätigen können.

Manche Online-Generatoren erstellen den Schlüssel auf ihrem Server und senden ihn in der Antwort zurück, wo er protokolliert oder behalten werden könnte. Ein in Ihrem Browser erstellter Schlüssel existiert nur in Ihrem Tab, bis Sie ihn speichern.

Kein anderes Skript dieser Seite kann den Frame lesen, der den Schlüssel hält, und die Seite funktioniert offline: Schalten Sie Ihr WLAN aus und erzeugen Sie erneut.

In Ihrem Browser erstelltisolierter Framefunktioniert offline0Netzwerkanfragen
Auf einem Server erstelltGET /generate?key_size=2048200 {"private_key": "-----BEGIN…"}kann protokolliert werden
Wohin der private Schlüssel wandert

FAQ zum DKIM-Generator

Was ist ein DKIM-Eintrag?

Ein DKIM-Eintrag ist ein TXT-Eintrag bei selector._domainkey.yourdomain, der die öffentliche Hälfte eines Schlüsselpaars veröffentlicht. Ihr Mailserver signiert jede Nachricht mit der privaten Hälfte, und Empfänger holen den öffentlichen Schlüssel, um zu prüfen, dass die Nachricht wirklich von Ihrer Domain kam und unterwegs nicht verändert wurde. Er ist in RFC 6376 definiert.

Ist es sicher, hier DKIM-Schlüssel zu erstellen?

Ja. Das Schlüsselpaar wird mit Web Crypto in Ihrem Browser erstellt, in einem isolierten Frame ohne Netzwerkzugriff, und kein anderes Skript der Seite kann es lesen. Es wird nichts gesendet: Sie können zusehen, wie der Netzwerk-Tab in den Entwicklertools Ihres Browsers leer bleibt, oder Ihre Verbindung trennen und erneut erzeugen.

Welche Schlüsselgröße sollte ich verwenden?

RSA 2048. RFC 8301 verlangt von Signierern mindestens 2048 Bit, Gmail und Yahoo empfehlen es, und sein Eintrag passt bei den meisten DNS-Anbietern als zwei Strings. 1024 ist das Minimum, das Empfänger akzeptieren; nutzen Sie es nur, wenn Ihr DNS-Anbieter keine langen Werte annimmt. 4096 ergibt einen langen Eintrag, der womöglich nicht in eine einfache DNS-Antwort passt.

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

Nein. Google Workspace erstellt den Schlüssel in der Admin console und zeigt Ihnen einen TXT-Eintrag für google._domainkey; Microsoft 365 signiert mit Schlüsseln hinter zwei CNAME-Einträgen, selector1 und selector2. Ein Schlüssel aus einem Generator würde nie benutzt. Wählen Sie im Generator Ihren Absender, um genau zu sehen, was Sie veröffentlichen.

Was ist ein DKIM-Selektor?

Ein Selektor ist der Name vor ._domainkey, der Empfängern sagt, welchen Schlüssel sie holen sollen, etwa s202610 in s202610._domainkey.example.com. So kann eine Domain mehrere Schlüssel gleichzeitig haben, einen je Server, Dienst oder Datum. Der Generator schlägt einen datierten Selektor vor, damit jeder neue Schlüssel einen neuen Namen bekommt und die Rotation leichtfällt.

Welches Format hat der private Schlüssel?

Standardmäßig PKCS#8 PEM (BEGIN PRIVATE KEY), das OpenDKIM, rspamd und Exim lesen. Sie können auf PKCS#1 (BEGIN RSA PRIVATE KEY) wechseln, die traditionelle Form, die manche Tools dokumentieren, oder auf eine Zeile Base64 ohne Kopfzeile und Zeilenumbrüche, wie Amazon SES BYODKIM sie verlangt. Speichern Sie ihn mit Rechten, die nur der Signierer lesen kann.

Kann eine Domain mehr als einen DKIM-Eintrag haben?

Ja, unter verschiedenen Selektoren: Jeder Dienst, der Ihre Mails signiert, kann einen eigenen haben, und bei einer Rotation gibt es kurz zwei von Ihnen. Ein Selektorname darf aber nur einen TXT-Eintrag halten; zwei Einträge am selben Namen machen das Ergebnis undefiniert, und Prüfer können sich für einen von beiden entscheiden.

Warum ist mein DKIM-Eintrag länger als 255 Zeichen?

Ein öffentlicher 2048-Bit-RSA-Schlüssel hat 392 Zeichen Base64, der ganze Eintrag also etwa 410. Ein TXT-String fasst höchstens 255 Bytes, daher speichert DNS ihn als zwei Strings, und Prüfer fügen sie ohne Zwischenraum zusammen. Die meisten DNS-Anbieter teilen ihn für Sie; Route 53 und Google Cloud DNS brauchen die Strings in Anführungszeichen.

Was bedeutet t=y in einem DKIM-Eintrag?

t=y markiert den Schlüssel als im Test: Prüfer müssen damit signierte Mails genau wie unsignierte behandeln, auch wenn die Signatur fehlschlägt. Nutzen Sie es, während Sie Ihre Einrichtung prüfen, und entfernen Sie es dann, denn ein Testschlüssel gibt DMARC nichts. t=s ist anders: Es verlangt, dass die Identität der Signatur genau Ihre Domain nutzt, keine Subdomain.

Wie oft sollte ich DKIM-Schlüssel rotieren?

Mindestens alle sechs Monate, wie M3AAWG empfiehlt. Veröffentlichen Sie den neuen Schlüssel unter einem neuen Selektor, stellen Sie Ihren Signierer darauf um und behalten Sie den alten Eintrag 7 bis 30 Tage, solange signierte Mails noch unterwegs sind. Widerrufen Sie den alten Selektor dann, indem Sie ihn mit einem leeren p= veröffentlichen, statt ihn zu löschen.

Fehlt Ihnen etwas?Funktion oder neues Tool vorschlagen