Gerador de registro DNS DKIM

Informe um nome de seletor e uma chave pública (formato PEM) para gerar o registro DNS TXT de assinatura DKIM (v=DKIM1; k=rsa; p=...). Chaves públicas com mais de 255 caracteres são divididas automaticamente no formato de arquivo de zona BIND.

Montar o registro DNS para DKIM

Insira um nome de seletor e uma chave pública em formato PEM e esta ferramenta monta o registro TXT de DNS empregado para verificar as assinaturas DKIM, com a forma `v=DKIM1; k=rsa; p=...`. O seu lugar está em `seletor._domainkey.seudominio`.

**Naquilo em que todos tropeçam aqui é no limite de 255 caracteres por cadeia num registro TXT de DNS.** Uma chave pública RSA de 2048 bits alcança uns 390 caracteres em Base64, de modo que **não cabe numa só cadeia tal como está.** Num arquivo de zona escreve-se entre parênteses como várias cadeias, e **o lado receptor as torna a unir num só valor.** Esta ferramenta realiza essa divisão por você. **A outra coisa que jamais deve ser errada é que o que vai ao DNS é a chave pública.** A privada pertence unicamente ao servidor que assina e não deve sair dele jamais.

Como se usa

  1. Insira o domínio e um nome de seletor O seletor é um nome à sua escolha; use um novo cada vez que substituir a chave.
  2. Cole a chave pública em formato PEM **É a chave que começa por `-----BEGIN PUBLIC KEY-----`, não a privada.**
  3. Revise o registro gerado **Quando passa de 255 caracteres, a saída vem dividida entre parênteses.**
  4. Registre-o no DNS Coloque-o como registro TXT em `seletor._domainkey.seudominio`.

Dicas para aproveitar melhor

  • Você pode colar diretamente o conteúdo de um arquivo PEM gerado com opendkim-genkey ou com openssl genrsa → openssl rsa -pubout do OpenSSL. Quebras de linha e linhas de cabeçalho são removidas automaticamente.
  • Ativar o modo de teste (t=y) pode fazer com que alguns servidores de destino sejam mais tolerantes com falhas de DKIM em vez de rejeitar o e-mail. É uma opção mais segura durante o período de validação antes de ir para produção.
  • Depois de publicar o registro gerado no DNS, recomendamos confirmar que ele entrou em vigor usando a ferramenta de diagnóstico de entregabilidade de e-mail deste site (diagnóstico SPF/DKIM/DMARC).
  • Os tamanhos de chave mais comuns são 1024 e 2048 bits; com 2048 bits, a string da chave pública normalmente passa de 255 caracteres e é dividida em várias partes. Essa divisão não é um erro.
  • O nome do seletor pode ser escolhido livremente, mas se um domínio usa vários provedores de e-mail, incluir o nome do provedor (por exemplo, "google", "mailgun") facilita a gestão.

Quando é útil

Adotar DKIM pela primeira vez

**Uma vez feitas as chaves, mostra-lhe como escrevê-las no DNS.**

Rotacionar uma chave

**Acrescente um registro sob um seletor novo e retire o antigo após a comutação.**

Confirmar como se escreve a divisão

Como partir uma chave longa é justamente o que se erra ao fazê-lo à mão.

Verificar o que lhe indicou um serviço de envio

**Você pode confirmar que um registro entregue por um serviço externo toma a forma correta.**

Termos de DKIM

Seletor
O nome que identifica uma chave. **Encabeça `seletor._domainkey.example.com`, e cada chave leva o seu.**
Chave pública
**A que vai ao DNS.** O lado receptor verifica as assinaturas com ela.
Chave privada
A chave com que se criam as assinaturas. **Pertence unicamente ao servidor remetente e não deve ser publicada jamais.**
O limite de 255 caracteres
**O teto de uma só cadeia dentro de um registro TXT.** O que exceder escreve-se como várias cadeias.
V=DKIM1
A etiqueta que declara a versão do registro. Vem primeiro.
K=rsa
A classe de chave. Além de RSA existe Ed25519, cujas chaves são bem mais curtas.

Perguntas frequentes

É um identificador que permite usar várias chaves DKIM no mesmo domínio. O registro é publicado no DNS com o nome "seletor._domainkey.domínio", e a assinatura é verificada com a chave pública do seletor que corresponde ao valor da tag s= indicada no cabeçalho DKIM-Signature do e-mail enviado.

Como uma string de caracteres (character-string) de um registro TXT do DNS é limitada a 255 bytes, o que exceder esse limite é dividido em várias strings entre aspas, concatenadas sem espaços em um único registro TXT. O formato BIND gerado por esta ferramenta já trata essa divisão.

Não. Esta ferramenta apenas monta o registro que você publica no DNS; ela não gera a chave privada. Gere e guarde sua chave privada com segurança no seu próprio ambiente, usando uma ferramenta confiável como opendkim-genkey ou OpenSSL.

Use logo após implantar o DKIM, enquanto confirma que a assinatura e a verificação funcionam corretamente no seu ambiente real de envio. Alguns destinatários tratam falhas de DKIM de domínios com t=y de forma mais tolerante, funcionando como uma rede de segurança antes de ir totalmente para produção.

Hoje em dia, RSA (k=rsa) é o padrão de fato, por ser compatível com a maior variedade de servidores de envio e recebimento. Ed25519 (k=ed25519, RFC 8463) tem chaves mais curtas e assinatura mais rápida, mas ainda há servidores de e-mail que não o suportam, então adote-o apenas se puder confirmar que funciona nos dois lados.
Tool-kun

Curiosidade — como a criptografia de chave pública impede a falsificação de e-mails

O DKIM (DomainKeys Identified Mail) foi padronizado em 2004 unindo duas tecnologias desenvolvidas separadamente pela Yahoo! e pela Cisco — DomainKeys e Identified Internet Mail. Seu núcleo é a criptografia de chave pública: o remetente criptografa com a chave privada um hash calculado a partir dos cabeçalhos e de parte do corpo da mensagem, anexando-o como o cabeçalho DKIM-Signature. O destinatário verifica essa assinatura usando a chave pública publicada no DNS e, se o par de chaves corresponder, pode confirmar matematicamente que o conteúdo não foi alterado após o envio.

Enquanto o SPF verifica a legitimidade em nível de rede — o endereço IP de origem —, o DKIM é fundamentalmente diferente por aplicar uma assinatura digital ao próprio conteúdo do e-mail. Por isso, mesmo que a mensagem seja retransmitida várias vezes por servidores legítimos (algo com que o SPF costuma ter dificuldades), a assinatura DKIM permanece válida enquanto o corpo não for alterado. Essa característica faz com que o DKIM seja considerado mais confiável que o SPF em caminhos de entrega que envolvem encaminhamento, como listas de e-mail.

O mecanismo de seletor também é importante na prática. Quando um mesmo domínio usa vários provedores de e-mail (servidor próprio, Gmail, SendGrid etc.), atribuir um par de chaves e um nome de seletor distintos para cada um permite revogar ou renovar as chaves de forma independente por provedor. Essa flexibilidade operacional — uma chave vazada afetando apenas o seu próprio seletor — é um dos motivos pelos quais o DKIM, mesmo sendo apenas um registro DNS simples, continua amplamente usado em infraestruturas de e-mail de grande escala.