Gerador de registro DKIM

Crie um par de chaves DKIM no seu navegador e receba o registro DKIM para publicar. Usa Google Workspace ou Microsoft 365? Eles criam a chave: mostramos onde.

Chaves criadas com Web Crypto no seu navegador, nunca enviadas · RFC 6376, 8301 e 8463 · configurações de DKIM de 20 remetentes conferidas
Exemplo

Gere uma chave para example.com

Feita no seu navegador com Web Crypto. A chave privada nunca sai desta aba.

Quem assina seus e-mails?
Cria a própria chave
Aceita a sua chave
Usa a sua chave
kTipo de chave

O que a RFC 8301 pede. A escolha de sempre.

sSeletor
._domainkey.example.com
Um nome novo para cada chave nova. Nomes com data dizem quando ela foi criada.
tOpções do registro
Avançado
Feita no seu navegador com Web Crypto. A chave privada nunca sai desta aba.

Sua chave

Chave privada · Guarde no seu servidorQuadro isolado: sem rede, e nenhum outro script desta página consegue lê-lo

Funciona offline: desligue o Wi-Fi e gere de novo.

Configurar OpenDKIM

Arquivo da chave
# Key file: only the opendkim user may read it
$ sudo mkdir -p /etc/opendkim/keys/example.com
$ sudo nano /etc/opendkim/keys/example.com/s.private
$ sudo chown -R opendkim:opendkim /etc/opendkim/keys
$ sudo chmod 600 /etc/opendkim/keys/example.com/s.private

Plano de troca

  1. HojePublique e comece a assinar com ele.
  2. Em seis mesesCrie … e publique ao lado de .
  3. TrocaAssine com ….
  4. De 7 a 30 dias depoisMantenha publicado para os e-mails ainda em trânsito.
  5. RevogarPublique uma chave vazia em , não apague.v=DKIM1; k=rsa; p=

Depois de publicar

Verificação completa: example.comO link leva estas configurações, nunca uma chave. Perguntado pelo seu navegador: o resolvedor da Cloudflare, o do Google como segunda opinião.

Como gerar uma chave DKIM e o registro?

Para gerar uma chave DKIM, crie um par de chaves RSA 2048, guarde a chave privada no servidor que assina seus e-mails e publique a chave pública como um registro TXT em selector._domainkey.seudominio (RFC 6376).

Escolha um seletor novo para cada chave, como o mês em que ela foi criada, para que a chave antiga possa continuar publicada enquanto os e-mails assinados com ela ainda estão a caminho.

Depois instale a chave privada no seu assinador e envie uma mensagem de teste: o cabeçalho DKIM-Signature traz o domínio (d=) e o seletor (s=) que os servidores de destino vão consultar.

Chave privadafica no seu servidor de e-mailassina cada mensagem
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s202610; …
Chave públicapublicada no DNSs202610._domainkey.example.comos servidores de destino verificam com ela ✓
Duas metades de uma chave
Gerador DKIM com chave privada RSA 2048 em um quadro isolado do navegador, os arquivos do OpenDKIM e um plano de trocaGerador DKIM com chave privada RSA 2048 em um quadro isolado do navegador, os arquivos do OpenDKIM e um plano de trocaUma chave privada que nenhum outro script lêCriada e guardada em um quadro isolado que não alcança a rede.A forma que o seu assinador lêPKCS#8, PKCS#1 ou uma linha de base64, escolhida para o seu assinador.Zero requisições, e funciona offlineUma contagem ao vivo das requisições de rede desde que você pressionou Gerar.Os arquivos do seu assinadorOpenDKIM, rspamd, Exim, Postfix ou Amazon SES, com o seu domínio e o seu seletor preenchidos.Um seletor datadoO nome diz quando a chave foi criada; o plano de troca abaixo data a próxima chave e a revogação.
Uma chave RSA 2048 para OpenDKIM criada com Web Crypto: a chave privada em um quadro isolado e sem rede, os arquivos do assinador preenchidos e o plano de troca com datas reais.

Preciso gerar a minha própria chave DKIM?

Só se o seu próprio servidor assina os e-mails: o Google Workspace, o Microsoft 365 e a maioria dos serviços de e-mail criam a chave sozinhos e mostram o registro para publicar, então uma chave de qualquer gerador nunca seria usada.

Uma chave própria importa para Postfix com OpenDKIM, rspamd, Exim, Haraka, o seu próprio app e serviços que aceitam uma, como Amazon SES (BYODKIM) e Mailgun.

RemetenteChave criada porVocê publicaSeletores
Google Workspaceo provedorTXT (a chave deles)google
Microsoft 365o provedorCNAMEs para as chaves delesselector1, selector2
SendGrido provedorCNAMEs para as chaves deless1, s2
Mailchimpo provedorCNAMEs para as chaves delesk2, k3
Postmarko provedorTXT (a chave deles)<date>pm
Brevoo provedorCNAMEs para as chaves delesbrevo1, brevo2
Zoho Mailo provedorTXT (a chave deles)zoho
Amazon SESqualquer umTXT (a sua chave)qualquer
Mailgunqualquer umTXT (a sua chave)qualquer
OpenDKIMvocêTXT (a sua chave)qualquer
rspamdvocêTXT (a sua chave)qualquer
EximvocêTXT (a sua chave)qualquer
Quem cria a chave

O que tem em um registro DKIM?

Um registro TXT em selector._domainkey.dominio com v=DKIM1, o tipo de chave k= e a chave pública p=; tags opcionais limitam os hashes (h=) ou os serviços (s=) ou marcam a chave como em teste (t=).

Um p= vazio significa que a chave foi revogada. Chaves RSA são publicadas como SubjectPublicKeyInfo, que o OpenDKIM e o rspamd exigem; chaves Ed25519 como os 32 bytes brutos.

s202610._domainkey.example.com · TXT
v=DKIM1; k=rsa; h=sha256; s=email; p=MIIBIjANBgkqhkiG9w0BAQ…GQIDAQAB
TagSignificadoPadrão
vVersão, a primeira se existirDKIM1
kTipo de chave: rsa ou ed25519rsa
hHashes permitidostodos
sServiços: email ou **
ty = em teste, s = domínio exatonenhum
nNotas para pessoasnenhuma
pA chave pública; vazio = revogadaobrigatória
Um registro DKIM, tag por tag

RSA 1024, 2048, 4096 ou Ed25519?

Use RSA 2048: 1024 é o mínimo que os servidores de destino aceitam, 4096 sobrecarrega o DNS, e o Ed25519 é curto, mas testes independentes mostraram que os grandes provedores de caixa de e-mail não o verificam, então ele só ajuda ao lado de uma assinatura RSA.

Muitas ferramentas ainda usam 1024 como padrão: opendkim-genkey, o dkim_keygen do rspamd e o Microsoft 365. A RFC 8301 pede 2048.

Se você acrescentar o Ed25519, assine também com RSA, sob um segundo seletor; o Yahoo pode não aprovar o DMARC quando uma de várias assinaturas alinhadas falha.

RSA 1024234 caracteres · 1o mínimo
RSA 2048410 caracteres · 2recomendado
RSA 3072582 caracteres · 3confira seu assinador
RSA 4096754 caracteres · 3pode não caber em UDP
Ed2551966 caracteres · 1não verificado pelos grandes provedores

strings de 255 bytes: 255, 510, 765

Tamanho do registro por tipo de chave

Como configurar o OpenDKIM, o rspamd ou o Exim?

Guarde a chave privada onde só o assinador possa lê-la, ligue o seu domínio e o seu seletor a ela na configuração do assinador e reinicie; as guias mostram os arquivos de cada assinador com os seus nomes preenchidos.

Confira o resultado enviando uma mensagem para você mesmo e lendo o resultado do DKIM nos cabeçalhos, ou com o nosso verificador de DKIM.

OpenDKIM · KeyTable · SigningTable
# /etc/opendkim/KeyTable
s202610._domainkey.example.com example.com:s202610:/etc/opendkim/keys/example.com/s202610.private

# /etc/opendkim/SigningTable
*@example.com s202610._domainkey.example.com

# /etc/opendkim/TrustedHosts
127.0.0.1
localhost
Rspamd · dkim_signing.conf
# /etc/rspamd/local.d/dkim_signing.conf
domain {
  example.com {
    selector = "s202610";
    path = "/var/lib/rspamd/dkim/example.com.s202610.key";
  }
}
# only if example.com is a subdomain: use_esld = false;
# only if users log in without @example.com: allow_username_mismatch = true;

$ sudo rspamadm configtest && sudo systemctl restart rspamd
Os arquivos do seu assinador

Por que o meu registro DKIM está dividido em várias strings?

Um registro de chave de 2048 bits tem cerca de 410 caracteres, mais do que uma string TXT de 255 bytes, então o DNS o guarda como duas strings que os verificadores juntam sem nada no meio.

A Cloudflare, o Azure e painéis no estilo do cPanel aceitam o valor inteiro e o dividem; o Route 53 e o Google Cloud DNS querem que você cole as strings entre aspas. A GoDaddy limita um valor a 1.024 caracteres.

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIaM9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQAB
1255 B2155 B
s202610._domainkey.example.com. 3600 IN TXT ( "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIa"
	"M9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQAB" )
Um registro de 2048 bits, como o DNS o guarda

Como trocar as chaves DKIM?

Publique uma chave nova sob um seletor novo, passe a assinatura para ela, mantenha o registro antigo de 7 a 30 dias para os e-mails ainda em trânsito e então o revogue com um p= vazio; o M3AAWG diz para trocar pelo menos a cada seis meses.

Revogue em vez de apagar, para que os verificadores informem o seletor antigo como revogado. Nunca reutilize o nome de um seletor para uma chave nova.

nov.dez.jan.fev.mar.abr.mai.jun.jul.
s202611assinamantido de 7 a 30 diasp= (revogada)
s202705assina
Dois seletores, uma passagem de bastão

É seguro gerar uma chave DKIM online?

Só se a chave for criada no seu navegador e nunca enviada: esta página a cria com Web Crypto dentro de um quadro isolado que não alcança a rede, o que você pode confirmar nas ferramentas do desenvolvedor do navegador.

Alguns geradores online criam a chave no servidor deles e a devolvem na resposta, onde ela pode ser registrada em log ou guardada. Uma chave criada no seu navegador existe só na sua aba até você salvá-la.

Nenhum outro script desta página consegue ler o quadro que guarda a chave, e a página funciona offline: desligue o Wi-Fi e gere de novo.

Criada no seu navegadorquadro isoladofunciona offline0requisições de rede
Criada em um servidorGET /generate?key_size=2048200 {"private_key": "-----BEGIN…"}pode ser registrada em log
Por onde a chave privada viaja

Perguntas frequentes sobre o gerador de registro DKIM

O que é um registro DKIM?

Um registro DKIM é um registro TXT em selector._domainkey.seudominio que publica a metade pública de um par de chaves. O seu servidor de e-mail assina cada mensagem com a metade privada, e os servidores de destino buscam a chave pública para conferir que a mensagem veio mesmo do seu domínio e não foi alterada no caminho. Ele é definido na RFC 6376.

É seguro gerar chaves DKIM aqui?

É. O par de chaves é criado com Web Crypto no seu navegador, dentro de um quadro isolado sem acesso à rede, e nenhum outro script da página consegue lê-lo. Nada é enviado: você pode ver a guia de rede das ferramentas do desenvolvedor continuar vazia, ou desligar a conexão e gerar de novo.

Qual tamanho de chave devo usar?

RSA 2048. A RFC 8301 pede pelo menos 2048 bits dos assinadores, o Gmail e o Yahoo o recomendam, e o registro dele cabe na maioria dos hosts de DNS como duas strings. 1024 é o mínimo que os servidores de destino aceitam; use só se o seu host de DNS não aceitar valores longos. 4096 gera um registro longo que pode não caber em uma resposta DNS simples.

Preciso de uma chave DKIM para o Google Workspace ou o Microsoft 365?

Não. O Google Workspace cria a chave no Admin console e mostra um registro TXT para google._domainkey; o Microsoft 365 assina com chaves por trás de dois registros CNAME, selector1 e selector2. Uma chave de qualquer gerador nunca seria usada. Escolha o seu remetente no gerador para ver exatamente o que publicar.

O que é um seletor DKIM?

Um seletor é o nome antes de ._domainkey que diz aos servidores de destino qual chave buscar, como s202610 em s202610._domainkey.example.com. Ele permite que um domínio tenha várias chaves ao mesmo tempo, uma por servidor, serviço ou data. O gerador sugere um seletor datado, então cada chave nova ganha um nome novo e a troca fica fácil.

Qual é o formato da chave privada?

PKCS#8 PEM (BEGIN PRIVATE KEY) por padrão, que o OpenDKIM, o rspamd e o Exim leem. Você pode trocar para PKCS#1 (BEGIN RSA PRIVATE KEY), a forma tradicional que algumas ferramentas documentam, ou uma linha de base64 sem cabeçalho nem quebras de linha, que o Amazon SES BYODKIM pede. Salve com permissões que só o assinador possa ler.

Um domínio pode ter mais de um registro DKIM?

Pode, sob seletores diferentes: cada serviço que assina seus e-mails pode ter o próprio, e uma troca deixa por um tempo dois seus. Um mesmo nome de seletor deve guardar só um registro TXT, porém; dois registros no mesmo nome deixam o resultado indefinido, e os verificadores podem escolher qualquer um.

Por que o meu registro DKIM tem mais de 255 caracteres?

Uma chave pública RSA de 2048 bits tem 392 caracteres de base64, então o registro inteiro tem cerca de 410. Uma string TXT guarda no máximo 255 bytes, então o DNS a guarda como duas strings, e os verificadores as juntam sem nada no meio. A maioria dos hosts de DNS divide para você; o Route 53 e o Google Cloud DNS precisam das strings entre aspas.

O que significa t=y em um registro DKIM?

t=y marca a chave como em teste: os verificadores devem tratar e-mails assinados com ela exatamente como e-mails sem assinatura, mesmo quando a assinatura falha. Use enquanto confere a configuração e depois remova, porque uma chave em teste não dá nada ao DMARC. t=s é diferente: exige que a identidade da assinatura use exatamente o seu domínio, não um subdomínio.

Com que frequência devo trocar as chaves DKIM?

Pelo menos a cada seis meses, como o M3AAWG recomenda. Publique a chave nova sob um seletor novo, passe o seu assinador para ela e mantenha o registro antigo de 7 a 30 dias enquanto e-mails assinados ainda estão em trânsito. Depois revogue o seletor antigo publicando-o com um p= vazio, em vez de apagá-lo.

Sentiu falta de algo?Sugira um recurso ou uma nova ferramenta