Votre DKIM record est en général configuré au sein du DNS pour votre domaine par le département informatique ou l'administrateur de messagerie de votre entreprise, la société d'hébergement de votre site Web ou votre routeur (ESP), s'ils ont autorité sur le domaine d'envoi.
Le DNS record de la signature DKIM est constitué de différents éléments d'information représentés par l'utilisation de paires tag=value. La balise (tag) est généralement une simple lettre suivie du symbole égal (=). La valeur (value) de chaque balise indique un élément d'information spécifique concernant l'expéditeur et la clé publique.
L'expéditeur a de nombreuses balises à sa disposition ; certaines sont obligatoires, d'autres facultatives. S'il manque une balise obligatoire dans le DNS record de la signature DKIM, une erreur de vérification se produit au niveau de l'opérateur de messagerie, tandis qu'une balise facultative manquante ne cause pas d'erreur.
Les balises qui sont incluses dans le DNS record de la signature DKIM, mais qui n'ont pas de valeur associée, sont traitées comme ayant une valeur vide. Toutefois, les balises qui ne sont pas incluses dans le DNS record de la signature DKIM sont traitées comme ayant une valeur par défaut.
Exemple de DNS record pour la signature DKIM
<selector(s=)._domainkey.domain(d=)>. TXT v=DKIM1; p=<public key>
- s= indique le nom de l'enregistrement du sélecteur utilisé avec le domaine pour localiser la clé publique dans le DNS. La valeur est un nom ou un chiffre créé par l'expéditeur. s= est inclus dans la signature DKIM.
- d= indique le domaine utilisé avec l'enregistrement du sélecteur (s=) pour localiser la clé publique. La valeur est un nom de domaine appartenant à l'expéditeur. d= est inclus dans la signature DKIM.
- p= indique la clé publique utilisée par l'opérateur de messagerie ; celle-ci doit correspondre à la signature DKIM.
Voici à quoi ressemble le l'enregistrement DKIM DNS pour example.com :
dk1024-2012._domainkey.example.com. 600 IN TXT "v=DKIM1\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1TaNgLlSyQMNWVLNLvyY/neDgaL2oqQE8T5illKqCgDtFHc8eHVAU+nlcaGmrKmDMw9dbgiGk1ocgZ56NR4ycfUHwQhvQPMUZw0cveel/8EAGoi/UyPmqfcPibytH81NFtTMAxUeM4Op8A6iHkvAMj5qLf4YRNsTkKAV;"
- Le sélecteur (s=) : dk1024-2012
- Le domaine (d=) : example.com
- La version (v=) : DKIM1
- La clé publique (p=) : MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1TaNgLlSyQMNWVLNLvyY/neDgaL2oqQE8T5illKqCgDtFHc8eHVAU+nlcaGmrKmDMw9dbgiGk1ocgZ56NR4ycfUHwQhvQPMUZw0cveel/8EAGoi/UyPmqfcPibytH81NFtTMAxUeM4Op8A6iHkvAMj5qLf4YRNsTkKAV
Balise obligatoire
- p= est la clé publique utilisée par un opérateur de messagerie ; celle-ci doit correspondre à la signature DKIM générée à l'aide de la clé privée. La valeur est une chaîne de caractères représentant la clé publique. Elle est générée avec sa clé privée correspondante pendant le processus de configuration de la signature DKIM.
Balises facultatives recommandées
- v= est la version du DKIM record. La valeur doit être DKIM1 et être la première balise dans le DNS record.
- t= indique que le domaine teste la signature DKIM ou applique une correspondance du domaine dans l'en-tête de signature entre les balises « i= » et « d= ».
- t=y indique que le domaine teste la signature DKIM. Les expéditeurs utilisent cette balise lorsqu'ils configurent la méthode DKIM pour garantir que la signature DKIM applique correctement le processus de vérification. Certains opérateurs de messagerie ignorent une signature DKIM en mode test, donc cette balise devrait être supprimée avant le déploiement complet ou modifiée en faveur de t=s si la balise « i= » est utilisée dans l'en-tête de la signature DKIM.
-
t=s indique qu'un en-tête de signature DKIM utilisant la balise « i= » doit avoir la même valeur de domaine à droite du symbole @ dans les balises « i= » et « d= » (i= local-part@domain.com). Le domaine de la balise « i= » ne doit pas être un sous-domaine de la balise « d= ». N'incluez pas cette balise si l'utilisation d'un sous-domaine est requise.
Balises facultatives
- g= est la granularité de la clé publique. La valeur doit correspondre à la partie locale du flag i= dans le champ de la signature DKIM (i= local-part@domain.com) ou contenir un astérisque de remplacement (*). L'utilisation de ce flag est conçue pour restreindre les adresses de signature qui peuvent utiliser l'enregistrement du sélecteur.
- h= indique les algorithmes de hachage acceptables. La valeur par défaut consiste à autoriser tous les algorithmes, mais vous pouvez spécifier sha1 et sha256. Les protocoles de signature et de vérification doivent prendre en charge sha256. Les protocoles de vérification doivent également prendre en charge sha1.
- k= indique le type de clé. La valeur par défaut est rsa. Celle-ci doit être prise en charge par les protocoles de signature et de vérification.
- n= est un champ de remarque conçu pour les administrateurs et non les utilisateurs finaux. La valeur par défaut est vide et peut contenir une remarque qu'un administrateur peut vouloir lire.
-
s= indique le type de service auquel s'applique cet enregistrement. La valeur par défaut est un astérisque de remplacement (*) qui correspond à tous les types de services. L'autre valeur acceptable autorisée est le mot « email » qui indique que le message est un courrier électronique. Cette balise n'équivaut pas à un enregistrement de sélecteur. Elle est conçue pour limiter l'utilisation des clés si la méthode DKIM est utilisée à d'autres fins que la messagerie à l'avenir. Si cette balise est utilisée, elle est incluse dans le DNS TXT record de la signature DKIM et non dans la signature DKIM. Si d'autres services sont définis à l'avenir, les protocoles de vérification ignoreront le DKIM record s'il ne correspond pas au type de message envoyé.
Balises non reconnues
Les balises non spécifiées dans le RFC 6376 ne font pas partie du protocole DKIM et doivent être ignorées pendant le processus de vérification. Tous les opérateurs de messagerie n'ignorent pas les balises non reconnues, il est donc possible que vous voyiez une erreur lors du processus de vérification.
Pour en savoir plus sur la signature DKIM, consultez le site Web DKIM ou la RFC 6376.