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
- Insira o domínio e um nome de seletor O seletor é um nome à sua escolha; use um novo cada vez que substituir a chave.
- Cole a chave pública em formato PEM **É a chave que começa por `-----BEGIN PUBLIC KEY-----`, não a privada.**
- Revise o registro gerado **Quando passa de 255 caracteres, a saída vem dividida entre parênteses.**
- 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
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.