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