DKIM-Syntax
Die Syntax von DKIM wird durch RFC 6376 definiert, das das Format und die Regeln für das DKIM-Signatur-Header-Feld, den öffentlichen Schlüssel-DNS-Eintrag sowie die Signatur- und Verifizierungsalgorithmen festlegt.
Das DKIM-Signatur-Header-Feld besteht aus einer Reihe von Tag-Wert-Paaren, die durch Semikolons getrennt sind und Informationen über die DKIM-Signatur bereitstellen. Die Tags sind nicht case-sensitiv und haben folgende Bedeutungen:
| Tag | Beschreibung |
|---|---|
| v | Die Version von DKIM. Die aktuelle Version ist 1. |
| a | Der Algorithmus, der zur Erstellung des Hashs und der Signatur verwendet wird. Die unterstützten Algorithmen sind rsa-sha1 und rsa-sha256. |
| b | Die Signaturdaten, kodiert in base64. |
| bh | Der Hash des E-Mail-Inhalts, kodiert in base64. |
| c | Der Kanonisierung-Algorithmus, der verwendet wird, um die E-Mail-Header und den Body vor dem Hashing zu normalisieren. Die unterstützten Algorithmen sind simple und relaxed. |
| d | Die Domain der signierenden Entität. |
| h | Die Liste der Header-Felder, die in die Signatur einbezogen sind, getrennt durch Doppelpunkte. |
| i | Die Identität des signierenden Agenten, die eine Subdomain oder ein Benutzer innerhalb der signierenden Domain sein kann. |
| l | Die Länge des E-Mail-Bodys, der signiert wird, in Bytes. Wenn weggelassen, wird der gesamte Body signiert. |
| q | Die Abfragemethode, die verwendet wird, um den öffentlichen Schlüssel abzurufen. Die unterstützte Methode ist dns/txt, was bedeutet, dass der öffentliche Schlüssel in einem TXT-Eintrag im DNS gespeichert ist. |
| s | Der Selektor, der den öffentlichen Schlüssel zur Verifizierung identifiziert. |
| t | Der Zeitstempel, wann die Signatur erstellt wurde, in Sekunden seit dem 1. Januar 1970, 00:00:00 UTC. |
| x | Die Ablaufzeit der Signatur, in Sekunden seit dem 1. Januar 1970, 00:00:00 UTC. Wenn weggelassen, läuft die Signatur nicht ab. |
| z | Die ursprünglichen Header-Felder, die signiert wurden, kodiert in base64. Dieses Tag ist optional und wird nur zu Debugging-Zwecken verwendet. |
Ein Beispiel für einen öffentlichen Schlüssel-DNS-Eintrag ist:
Selektor:
dkimkey._domainkey.example.com.Wert:
"v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfjgu4wJ4hm7T3cjhYfyX3WfZwLGNqJtU2Ol1i8sT1o3F1FbZI4P7FqQW7MkMfsHnY6f7loG+RwkZsKdowq+8Gg9G2xRF1YJynBKLpdX4eR4Q2m5F3LjMfQSSMmN1CRrSeyRGNVQqjxweG5lJfR0GZsT7hnrccllH+oL1HhQIDAQ"Verwandte Themen
- Was ist DKIM? - Eine Einführung in DKIM und seine Rolle bei der E-Mail-Authentifizierung
- Wie funktioniert DKIM? - Technische Details zur Implementierung und zum Betrieb von DKIM
- Warum ist DKIM wichtig? - Vorteile und Bedeutung der Implementierung von DKIM
- Einschränkungen von DKIM - Aktuelle Beschränkungen und Herausforderungen