Sintassi DKIM
La sintassi di DKIM è definita dall'RFC 6376, che specifica il formato e le regole per il campo header DKIM-Signature, il record DNS della chiave pubblica e gli algoritmi di firma e verifica.
Il campo header DKIM-Signature consiste in una serie di coppie tag-valore, separate da punti e virgola, che forniscono informazioni sulla firma DKIM. I tag non sono sensibili alle maiuscole e hanno i seguenti significati:
Tag | Descrizione |
---|---|
v | La versione di DKIM. La versione attuale è 1. |
a | L'algoritmo utilizzato per generare l'hash e la firma. Gli algoritmi supportati sono rsa-sha1 e rsa-sha256. |
b | I dati della firma, codificati in base64. |
bh | L'hash del contenuto dell'email, codificato in base64. |
c | L'algoritmo di canonicalizzazione utilizzato per normalizzare gli header e il corpo dell'email prima dell'hashing. Gli algoritmi supportati sono simple e relaxed. |
d | Il dominio dell'entità firmataria. |
h | L'elenco dei campi header inclusi nella firma, separati da due punti. |
i | L'identità dell'agente firmatario, che può essere un sottodominio o un utente all'interno del dominio firmatario. |
l | La lunghezza del corpo dell'email che è firmata, in byte. Se omesso, l'intero corpo è firmato. |
q | Il metodo di query utilizzato per recuperare la chiave pubblica. Il metodo supportato è dns/txt, il che significa che la chiave pubblica è memorizzata in un record TXT nel DNS. |
s | Il selettore che identifica la chiave pubblica da utilizzare per la verifica. |
t | Il timestamp di quando la firma è stata creata, in secondi dal 00:00:00 del 1 gennaio 1970 UTC. |
x | Il tempo di scadenza della firma, in secondi dal 00:00:00 del 1 gennaio 1970 UTC. Se omesso, la firma non scade. |
z | I campi header originali che sono stati firmati, codificati in base64. Questo tag è opzionale e viene utilizzato solo per scopi di debug. |
Un esempio di record DNS della chiave pubblica è:
Selettore:
dkimkey._domainkey.example.com.
Valore:
"v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfjgu4wJ4hm7T3cjhYfyX3WfZwLGNqJtU2Ol1i8sT1o3F1FbZI4P7FqQW7MkMfsHnY6f7loG+RwkZsKdowq+8Gg9G2xRF1YJynBKLpdX4eR4Q2m5F3LjMfQSSMmN1CRrSeyRGNVQqjxweG5lJfR0GZsT7hnrccllH+oL1HhQIDAQ"
Argomenti Correlati
- Cos'è DKIM? - Un'introduzione a DKIM e al suo ruolo nell'autenticazione delle email
- Come Funziona DKIM? - Dettagli tecnici sull'implementazione e il funzionamento di DKIM
- Perché DKIM è Importante? - Benefici e importanza dell'implementazione di DKIM
- Limitazioni di DKIM - Vincoli e sfide attuali