Skip to main contentSkip to footer

Générateur DKIM : créer une clé DKIM et son enregistrement DNS

Créez une paire de clés RSA ou Ed25519 dans votre navigateur, obtenez l’enregistrement DNS au format accepté par votre interface et vérifiez la clé une fois publiée. La clé privée ne quitte jamais cette page. Gratuit, sans inscription.

L'enregistrement est créé dans votre navigateur et rien de ce que vous saisissez ci-dessous n'est transmis où que ce soit. Seules les options « Charger l'enregistrement publié » et « Vérifier » envoient une requête à notre serveur, qui consulte les DNS publics du domaine.

Type de clé

Un enregistrement TXT par ligne, tel qu'il apparaît dans votre panneau DNS ou via la commande « dig TXT ». La présence de deux lignes identiques est signalée comme une erreur, ce qui correspond exactement au type d'erreur que cette commande est censée détecter.

Qu’est-ce qu’un enregistrement DKIM ?

DKIM (DomainKeys Identified Mail, RFC 6376) permet à un serveur de messagerie de signer chaque message sortant avec une clé privée. La clé publique correspondante est publiée en enregistrement TXT sur selector._domainkey.example.com. Un destinataire la récupère, vérifie la signature et sait ainsi que le message vient bien d’un serveur détenant votre clé et n’a pas été modifié en route.

Le générateur crée la paire de clés avec la cryptographie du navigateur (WebCrypto), écrit l’enregistrement DNS et conserve la clé privée sur cette page jusqu’à ce que vous l’enregistriez. Rien de la clé n’est envoyé à notre serveur.

Avez-vous besoin d’un générateur DKIM ?

Votre fournisseur crée la clé : non

Microsoft 365, Google Workspace, Brevo, Mailchimp, SendGrid, Amazon SES et presque tous les services hébergés créent eux-mêmes la paire de clés et vous montrent l’enregistrement à publier, souvent un CNAME qui pointe vers leur propre DNS. Utilisez leur enregistrement ; une clé créée ici ne leur servirait à rien, puisqu’ils n’en verraient jamais la moitié privée.

Vous exploitez le serveur de messagerie : oui

Postfix avec OpenDKIM, rspamd, Exim, un serveur de messagerie en conteneur, un outil de newsletter auto-hébergé ou une application qui signe elle-même son courrier : tous ont besoin d’une paire de clés que vous créez et d’un enregistrement que vous publiez. C’est à cela que sert ce générateur. La plupart de ces programmes lisent la clé privée sous forme de fichier PEM, le format que vous téléchargez ici.

Créer une clé DKIM en trois étapes

1. Choisissez un sélecteur et un type de clé. Le sélecteur est un nom de votre choix, par exemple le mois en cours comme 202610. Il apparaît dans chaque signature sous la forme s= et permet de faire cohabiter plusieurs clés. RSA 2048 convient à presque tout le monde.

2. Générez, enregistrez, configurez. Cliquez sur « Générer une paire de clés », téléchargez la clé privée et placez-la sur le serveur de messagerie. Configurez le serveur pour qu’il signe votre domaine avec ce sélecteur. Gardez le fichier secret : quiconque le possède peut signer du courrier en votre nom.

3. Publiez et vérifiez. Ajoutez l’enregistrement TXT, attendez qu’il soit visible, puis saisissez en haut le domaine et le sélecteur et cliquez sur « Charger l’enregistrement publié ». La vérification lit la clé dans le DNS et indique son type et sa longueur exacte.

Ajouter l’enregistrement DKIM

Champ Valeur
Type TXT
Nom / Hôte 202610._domainkey, soit le sélecteur suivi de ._domainkey ; l’interface ajoute le domaine
Valeur v=DKIM1; k=rsa; p=MIIBIjANBg...

Une clé de 2048 bits donne une valeur d’environ 410 caractères. Une chaîne TXT ne peut dépasser 255 caractères, le DNS stocke donc les valeurs plus longues en plusieurs chaînes que le destinataire recolle. Les bonnes interfaces s’en chargent elles-mêmes. Pour les autres, le générateur propose le même enregistrement sous trois formes :

  • Une seule valeur pour les interfaces qui découpent elles-mêmes les valeurs longues (Cloudflare, la plupart des interfaces récentes).
  • Découpée en chaînes de 255 caractères, chacune entre guillemets, pour les interfaces qui stockent exactement ce que vous collez.
  • Ligne de fichier de zone en syntaxe BIND pour votre propre serveur de noms.

Si une interface refuse même la forme découpée, elle limite la longueur totale. RSA 1024 est alors la solution de repli que tous les destinataires acceptent encore. Mais changez de fournisseur DNS dès que possible.

Contenu d’un enregistrement DKIM

Balise Signification
v=DKIM1 Version. Facultative selon la norme, attendue par de nombreux outils.
k=rsa ou k=ed25519 Type de clé. rsa par défaut si la balise manque.
p= La clé publique en Base64. Un p= vide signifie que la clé est révoquée.
t=y Test : les destinataires traitent une signature invalide comme un message non signé.
t=s Strict : la clé ne peut signer que pour ce domaine exact, pas pour ses sous-domaines.
h= Algorithmes de hachage autorisés. À omettre ; tout le monde utilise sha256.

RSA 2048, RSA 1024 ou Ed25519 ?

RSA 2048 est la norme : acceptée par tous les destinataires, jugée sûre, seule la longueur de l’enregistrement pose parfois problème. RSA 1024 est le minimum encore accepté ; ne l’utilisez que si le DNS vous y oblige. Ed25519 (RFC 8463) est moderne et court, environ 60 caractères, mais pas encore vérifié par tous les destinataires. Publiez-le comme seconde clé sous son propre sélecteur, à côté d’une clé RSA, jamais seul.

Sélecteurs des fournisseurs courants

Si vous cherchez une clé existante : Google Workspace utilise google, Microsoft 365 selector1 et selector2, SendGrid s1 et s2, Mailchimp k2 et k3. Amazon SES utilise trois jetons aléatoires visibles dans la console SES. L’Email Security Check essaie automatiquement ces noms.

Sans navigateur : créer la clé avec OpenSSL

La même paire de clés peut être créée directement sur le serveur, ce qui évite que la clé privée ne passe jamais par un poste de travail.

RSA 2048 :
openssl genrsa -out 202610.private.pem 2048
openssl rsa -in 202610.private.pem -pubout -outform der | openssl base64 -A
La seconde commande affiche la valeur à placer après p=.

Ed25519 :
openssl genpkey -algorithm ed25519 -out 202610.ed25519.pem
openssl pkey -in 202610.ed25519.pem -pubout -outform der | tail -c 32 | openssl base64 -A
Pour Ed25519, DKIM publie la clé brute de 32 octets, pas la structure complète, d’où l’extraction des 32 derniers octets.

Avec rspamd, une seule commande suffit : rspamadm dkim_keygen -s 202610 -d example.com -b 2048 affiche la clé et l’enregistrement.

Renouveler une clé DKIM

Une clé qui ne change jamais peut fuiter sans que personne ne le remarque. Renouvelez-la tous les six à douze mois, et immédiatement si un serveur qui la détenait a été compromis. Avec les sélecteurs, la rotation est simple : créez une nouvelle clé sous un nouveau sélecteur, publiez son enregistrement, basculez le serveur sur le nouveau sélecteur et laissez l’ancien enregistrement une semaine dans le DNS pour que les messages encore en transit restent vérifiables. Publiez ensuite l’ancien sélecteur avec un p= vide, ce qui signale aux destinataires que la clé est révoquée.

Nommer les sélecteurs d’après le mois de leur création, comme le propose le générateur, montre d’un coup d’œil quelle clé est en service.

Questions fréquentes sur le générateur DKIM

Ma clé privée est-elle transmise ou enregistrée ?

Non. La paire de clés est créée avec WebCrypto dans votre navigateur et n’existe que dans cet onglet. « Charger l’enregistrement publié » lit la clé publique dans le DNS, qui est de toute façon publique. Téléchargez la clé privée avant de fermer ou de recharger la page, car elle ne pourra pas être récupérée ensuite.

Faut-il un générateur DKIM pour Microsoft 365 ou Google Workspace ?

Non. Les deux créent la clé eux-mêmes. Chez Microsoft 365, vous publiez deux enregistrements CNAME nommés selector1 et selector2, puis activez la signature dans le portail Defender ; chez Google Workspace, vous générez la clé dans la console d’administration, sous l’authentification Gmail, et publiez l’enregistrement TXT affiché.

Quelle longueur de clé choisir pour DKIM ?

RSA 2048. Acceptée partout et jugée sûre. 1024 bits est le minimum et ne se justifie que si votre interface DNS ne peut pas stocker une valeur plus longue. Au-delà de 2048, le gain est faible et certains destinataires gèrent mal les clés de 4096 bits.

Qu’est-ce qu’un sélecteur DKIM ?

Un nom de votre choix qui indique aux destinataires la bonne clé. Une signature porte s=202610, le destinataire interroge alors 202610._domainkey.example.com. Différents services, ainsi que l’ancienne et la nouvelle clé, peuvent ainsi avoir chacun leur sélecteur sans se gêner.

À quelle fréquence changer la clé DKIM ?

Tous les six à douze mois, et immédiatement si un serveur détenant la clé a été compromis. Publiez d’abord la nouvelle clé sous un nouveau sélecteur, basculez la signature et gardez l’ancien enregistrement environ une semaine avant de le révoquer.

La valeur est trop longue pour mon champ DNS. Que faire ?

Utilisez la forme découpée, qui divise la valeur en chaînes de 255 caractères au plus entre guillemets. Si l’interface la refuse aussi, elle limite la longueur totale ; générez alors une clé RSA 1024, dont la valeur fait environ 220 caractères.

Fonctionnement de l’outil et ses limites

Les clés RSA sont créées avec RSASSA-PKCS1-v1_5 et SHA-256 en 2048 ou 1024 bits, les clés Ed25519 avec l’implémentation Ed25519 du navigateur lorsqu’elle existe ; les navigateurs plus anciens ne la proposent pas, et le générateur le signale. La clé privée est exportée en PEM PKCS#8, que lisent OpenDKIM, rspamd et Exim. La clé publique est publiée en SubjectPublicKeyInfo pour RSA et en clé brute de 32 octets pour Ed25519, comme l’exige la RFC 8463.

« Charger l’enregistrement publié » demande à notre résolveur l’enregistrement TXT du sélecteur saisi et applique le validateur DKIM de l’Email Security Check. Pour RSA, il indique la longueur exacte du module, lue dans la clé elle-même et non estimée d’après la longueur du texte.

L’outil ne peut pas voir si votre serveur signe réellement. Envoyez un message à une adresse que vous contrôlez et cherchez dkim=pass dans l’en-tête Authentication-Results, ou suivez les rapports DMARC.