Você precisa verificar uma chave DKIM, rotacioná-la ou descobrir por que as assinaturas falham, e a primeira coisa que toda ferramenta pede é o seletor, um nome curto que ninguém anotou. O seletor decide qual registro DNS guarda a chave pública, então sem ele você não consegue consultar o registro. Este guia mostra como ler o seletor numa mensagem real, o que tentar quando você não tem uma mensagem, qual deve ser o tamanho da chave e como rotacionar uma chave sem deixar um intervalo sem assinatura.
A resposta curta#
O seletor é o valor da tag s= no cabeçalho DKIM-Signature de qualquer mensagem que o seu domínio enviou. Abra os cabeçalhos completos de uma mensagem, encontre DKIM-Signature: e leia s= para o seletor e d= para o domínio assinante. A chave pública fica então num registro TXT em selector._domainkey.d, por exemplo mail._domainkey.example.com. Sem nenhuma mensagem à mão, peça ao seu provedor de envio o registro DNS que ele mandou publicar, porque o seletor é a primeira parte do nome dele. A sua chave deve ser RSA de 2048 bits: a RFC 8301 exige pelo menos 1024 e diz que os assinantes devem usar pelo menos 2048. O analisador de cabeçalhos de e-mail mostra se a DKIM passou e se há uma assinatura, mas você lê s= e d= você mesmo na linha DKIM-Signature. Depois confirme o lado do DNS com o verificador de SPF, DKIM e DMARC.
Leia o seletor no cabeçalho de uma mensagem#
Envie um e-mail para você mesmo a partir de cada sistema que envia em nome do seu domínio, como o provedor de caixa postal, a plataforma de marketing, o serviço transacional e o helpdesk. Abra o código-fonte original ou os cabeçalhos da cópia recebida. No Gmail, use o menu da mensagem e escolha "Mostrar original". Encontre a linha que começa com DKIM-Signature:.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.com; s=mail2026; t=1730700000;
h=from:to:subject:date; bh=...; b=...
Aqui d=example.com é o domínio que assinou e s=mail2026 é o seletor. A chave fica, portanto, em:
mail2026._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
Consulte-a diretamente para confirmar:
dig +short TXT mail2026._domainkey.example.com
Duas coisas para observar. Uma mensagem pode carregar mais de uma DKIM-Signature, por exemplo uma do seu domínio e outra do domínio do serviço de envio. Olhe cada valor de d=. E preste atenção se d= é mesmo o seu domínio. Muitas plataformas assinam com o próprio domínio por padrão, o que passa no DKIM, mas não se alinha com o seu endereço From para o DMARC. Se d= não é você, o remetente ainda não está configurado para o seu domínio, e as falhas de alinhamento que vêm depois são fáceis de confundir com um problema de DNS.
O que fazer quando você não tem uma mensagem#
Às vezes não há nada para abrir: você herdou um domínio, o remetente está inativo ou você quer auditar antes de enviar. Há três opções.
- Consulte a página de configuração do provedor. Quando você autenticou um domínio com um remetente, ele mandou publicar um registro CNAME ou TXT. O nome dele começa com o seletor, por exemplo
selector._domainkey. Esse registro, ainda presente na sua zona DNS, é a resposta. - Leia a sua zona DNS. Procure nomes que terminem em
._domainkey. O rótulo antes dele é um seletor. A lista de registros do seu host de DNS, ou uma exportação da zona, mostra todos eles, e este é o único lugar onde você consegue enumerar o que existe. - Tente nomes comuns. Os provedores usam padrões previsíveis, e uma ferramenta pode testá-los por você. O monitoramento de saúde do domínio da Qualisend testa 25 nomes comuns quando você não configurou nenhum seletor:
google,selector1,selector2,k1,k2,s1,s2,dkim,default,mail,smtp,mandrill,sendgrid,krs,protonmail,zendesk1,zendesk2,mxvault,everlytickey1,hs1,hs2,pm,fm1,fm2efm3. Um acerto diz que existe uma chave. Um erro não diz nada, porque seletores personalizados comomail2026são invisíveis para o palpite.
Adivinhar é um recurso de reserva. Tudo em que você confia deve estar anotado com o seu seletor, e é por isso que o primeiro passo de uma rotina de saúde do domínio é listar cada remetente e o seu seletor.
Anatomia de um registro de chave DKIM#
O registro no DNS é uma lista de tags, e ajuda saber o que cada uma faz.
| Tag | Significado | O que observar |
|---|---|---|
v=DKIM1 | Versão | Opcional, mas se estiver presente deve ser DKIM1 |
k= | Tipo de chave | O padrão é rsa; ed25519 também aparece |
p= | Chave pública, em base64 | Deve conter dados. Um p= vazio significa que a chave foi revogada |
t=y | Sinalizador de teste | Marca o domínio como em teste de DKIM; remova quando estiver em produção |
Muitos provedores publicam um CNAME no nome do seletor apontando para uma chave que eles hospedam, então o registro que você vê pode ser um alias. Isso é normal: permite que o provedor rotacione as chaves por você. Também significa que, se o provedor remover o destino, o seu seletor deixa de resolver em silêncio.
Tamanho da chave: 1024 ou 2048#
A RFC 8301 define as regras. Os assinantes devem usar chaves RSA de pelo menos 1024 bits e deveriam usar pelo menos 2048. Os verificadores não devem considerar válidas chaves abaixo de 1024. As diretrizes de remetente do Google concordam: 1024 é o mínimo e 2048 é o recomendado. Ou seja, uma chave de 1024 bits ainda funciona, e é justamente por isso que muitas vezes sobrevive por anos, e é a primeira coisa a atualizar.
Há um detalhe prático. Uma chave pública de 2048 bits é maior que os 255 caracteres que uma única string de DNS comporta. O registro precisa ser publicado como várias strings entre aspas dentro de um único registro TXT, que o DNS junta de volta.
mail2026._domainkey.example.com. TXT ( "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
"...rest-of-the-key..." )
A maioria dos hosts de DNS faz isso automaticamente quando você cola o valor completo, mas nem todos, e as falhas são silenciosas: uma chave truncada ou com caracteres soltos falha na verificação mesmo com o registro existindo. Depois de publicar, consulte o registro e compare o tamanho. Os guias por provedor de DNS mostram como cada host lida com valores longos.
Se um serviço gera a sua chave, você costuma escolher o tamanho nas configurações dele ao criá-la, e mudar isso significa gerar uma nova chave e um novo seletor, ou seja, uma rotação.
Rotacionar uma chave sem intervalo#
Rotacionar é trocar uma chave por outra, em um novo seletor. Não há lei que diga com que frequência. O conselho que sustentamos é rotacionar quando uma chave tem menos de 2048 bits, quando alguém com acesso à chave privada sai, após qualquer suspeita de exposição, e no restante do tempo num calendário que a sua equipe realmente cumpra, como uma ou duas vezes por ano. O procedimento importa mais que a periodicidade.
- Gere a nova chave no seu provedor, ou no seu próprio servidor de e-mail, com um novo nome de seletor, como
mail2027. Nunca reutilize o nome antigo. - Publique o novo registro no DNS e espere até que os resolvedores públicos o devolvam. Confira com
digantes de fazer qualquer outra coisa. - Passe a assinar com o novo seletor no sistema de envio. A partir daí as mensagens levam
s=mail2027. - Deixe o registro antigo no lugar por um tempo. Mensagens assinadas com a chave antiga ainda podem estar em trânsito ou na fila, e os receptores verificam no momento do recebimento, não do envio. Uma semana é uma espera comum e prudente.
- Aposente a chave antiga apagando o registro, ou publicando-o com um
p=vazio para mostrar que foi revogado de propósito. - Confirme enviando uma mensagem de teste e verificando que
s=mostra o novo seletor e que o DKIM passa.
O erro mais comum é fazer o passo 5 antes do passo 3, ou pular o passo 2 por completo, o que resulta em e-mails assinados com um seletor sem chave.
Acompanhando um seletor ao longo do tempo#
Um registro DKIM é fácil de quebrar e ninguém percebe. Uma chave antiga removida cedo demais, um CNAME cujo destino desapareceu, uma chave revogada por uma limpeza entusiasmada demais: cada um deixa o e-mail sendo assinado com um seletor que não resolve mais. O monitoramento de saúde do domínio permite listar até 10 seletores DKIM por domínio e os verifica todos os dias. Para cada um, confirma que há uma chave, lê o tamanho da chave RSA e sinaliza uma chave ausente ou revogada como problema grave, uma chave de 1024 bits como aviso, qualquer tamanho menor como grave e o sinalizador de teste t=y como aviso. Se você não configurar nenhum, ele recorre aos 25 nomes comuns acima e avisa quando nenhum devolve uma chave.
Lembre a consequência para a rotação. Quando você aposentar um seletor antigo, remova-o também da lista monitorada, ou ele vai reportar uma chave ausente. E um limite: ele lê o DNS, então não consegue ver com qual seletor o seu e-mail realmente assina, e não alerta sobre a idade da chave. O quadro mais amplo, incluindo SPF e DMARC, está em monitoramento de saúde do domínio de e-mail, e o lado do SPF das mesmas verificações está em SPF com consultas DNS demais. Configurar o DMARC explica como o alinhamento usa o domínio de d=.
Perguntas frequentes
01Como encontro o meu seletor DKIM?
Abra os cabeçalhos completos de uma mensagem enviada pelo seu domínio e leia a tag s= do cabeçalho DKIM-Signature. A chave é publicada em selector._domainkey.yourdomain.com. Se você não tem uma mensagem, confira o registro DNS que o seu remetente mandou publicar.
02Que tamanho de chave DKIM devo usar?
Use RSA de 2048 bits. A RFC 8301 exige que os assinantes usem pelo menos 1024 bits e diz que devem usar pelo menos 2048, e o Google recomenda 2048. Uma chave de 1024 bits ainda funciona, mas é a primeira a atualizar.
03Com que frequência devo rotacionar as chaves DKIM?
Não há intervalo obrigatório. Rotacione quando uma chave tiver menos de 2048 bits, quando alguém com acesso sair, após uma suspeita de exposição, e no restante do tempo num calendário que você vá cumprir, como uma ou duas vezes por ano. Sobreponha a chave antiga e a nova.
04Posso listar todos os seletores DKIM de um domínio?
Não. O DNS não tem como listar os nomes abaixo de _domainkey. Você pode ler os seletores nos cabeçalhos das mensagens, nas páginas de configuração do remetente ou na sua zona DNS, e um verificador só consegue tentar nomes comuns, então seletores personalizados não serão encontrados.
O DKIM prova que uma mensagem realmente veio do seu domínio, mas não que o endereço do outro lado é real. O verificador de e-mails gratuito testa um endereço por vez quanto a sintaxe, registros MX e erros de digitação. Para limpar uma lista inteira, o plano gratuito na página de preços inclui 100 créditos que rodam a verificação completa, porque uma mensagem corretamente assinada ainda precisa de uma lista saudável para conquistar a caixa de entrada.



