FreeToGenerate.com

Lê o seu registro de chave DKIM e informa o tamanho real da chave, além das flags que silenciosamente fazem suas assinaturas não contarem. Nada é enviado.

O registro TXT em seletor._domainkey.seudominio.com. Um navegador não consegue consultá-lo por você, então cole o valor que o seu provedor de DNS mostra.

Experimente:

O que o registro diz

Tipo de chave
rsa
Tamanho da chave
1024 bits
Veredito
aviso

Válido, porém mais fraco do que o padrão recomenda.

  • avisop=1024

    Esta chave passa do MUST de 1024 bits da RFC 8301 mas fica aquém dos 2048 que ela diz que os signatários DEVERIAM usar. É válida, e é a menor das duas medidas que o padrão nomeia — que é exatamente onde a maioria dos grandes remetentes ainda está.

Tags do registro

TagValor
vDKIM1
krsa
pMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+Y039XECya2ss9Ic6ejzn...(cortado para exibição)

Os tamanhos de chave são lidos percorrendo a estrutura DER da chave pública, sem nenhuma biblioteca de criptografia; o analisador é conferido contra os tamanhos que o próprio módulo crypto do Node informa. As regras vêm da RFC 8301 para tamanho e hashes, da RFC 6376 para a gramática do registro e da RFC 8463 para ed25519.

Também disponível em: English · Español · Français · العربية

Verificador de registro DKIM

Confira um registro de chave pública DKIM: o tamanho real do módulo, se a chave está revogada ou em modo de teste, e de qual regra de qual RFC vem cada achado.

O que é um registro DKIM?

Um registro DKIM é um registro TXT no seu DNS que guarda a metade pública da chave com que o seu servidor de e-mail assina. Ele fica em um nome montado a partir de um seletor — algo como mail._domainkey.exemplo.com — e é uma lista de pares tag=valor. O que importa é o p=, que carrega a própria chave pública em base64.

O servidor que recebe busca esse registro, usa a chave para conferir a assinatura da sua mensagem e decide se ela realmente saiu do seu domínio. Se o registro estiver faltando, malformado ou revogado, a verificação falha e o seu e-mail é tratado como não assinado.

Este verificador de DKIM lê um registro colado e diz o que há nele de fato: o tipo de chave, o tamanho real em bits e todas as regras das especificações que o registro toca — inclusive as duas que é facílimo deixar ligadas por engano.

Como usar

  1. Busque o seu registro e cole aqui. É o registro TXT em seletor._domainkey.seudominio.com. Seu provedor de DNS mostra o valor; um navegador não resolve DNS, então esta ferramenta lê o que você cola em vez de ir buscar. Os quatro botões de exemplo cobrem uma chave de 1024 bits, uma de 2048, um registro esquecido em modo de teste e uma chave revogada.
  2. Olhe o tamanho da chave. É o tamanho real do módulo, decodificado da própria chave e não adivinhado pelo comprimento do base64. Uma chave menor do que deveria é a coisa mais comum de estar errada num DKIM que no resto funciona.
  3. Percorra os achados. Cada um diz se é erro, aviso ou apenas nota, e de qual especificação vem. Notas são coisas que vale saber e que não estão erradas: uma tag desconhecida é nota justamente porque o padrão manda ignorar tags não reconhecidas.

1024 ou 2048 bits, e por que a resposta é as duas

A RFC 8301 diz duas coisas diferentes sobre tamanho de chave na mesma seção curta, e essa distinção é o mais útil desta página. Signatários DEVEM usar chaves RSA de pelo menos 1024 bits. Signatários DEVERIAM usar chaves RSA de pelo menos 2048 bits. São palavras diferentes num documento de padrões e significam coisas diferentes: um DEVEM é requisito, um DEVERIAM é recomendação forte que você pode ter bom motivo para não seguir.

Então uma chave DKIM de 1024 bits não está quebrada nem é inválida: ela cumpre o requisito e fica aquém da recomendação. Isso importa porque é extremamente comum. Sondando os maiores domínios com dez dos nomes de seletor habituais, 25 de 30 publicavam um registro que sequer pudesse ser encontrado, e 14 desses 25 — clara maioria — ainda estavam em 1024 bits. Esta ferramenta trata esse caso como aviso e não como erro exatamente por isso.

O argumento prático para ir a 2048 não é que alguém está fatorando a sua chave hoje à tarde. É que registros TXT são chatos de mudar, rotação é uma tarefa que ninguém agenda, e a chave que você publica hoje ainda estará lá daqui a cinco anos. O argumento prático para não correr é que alguns verificadores bem antigos tinham problemas com chaves maiores que 2048, e por isso o padrão recomenda em vez de exigir.

A mesma RFC aposenta o SHA-1 sem meio-termo: não deve ser usado. Se a sua tag h= lista sha1 ao lado de sha256 você não ganha nada e oferece uma opção mais fraca; e se lista só sha1, o registro simplesmente ficou para trás.

As duas flags que não custam nada e custam tudo

Uma tag p= vazia não é um registro quebrado — é como se revoga uma chave. Publicar p= sem nada depois é a forma documentada de dizer que esta chave não vale mais, e as assinaturas feitas com ela deixam de verificar. É exatamente o que você quer ao aposentar uma chave e exatamente o que não quer quando um copiar e colar comeu o valor.

t=y coloca a chave em modo de teste, e o efeito é mais forte do que o nome sugere: quem verifica não deve tratar uma assinatura falha como motivo para fazer nada. Existe para você publicar uma chave e observar o que acontece sem arriscar e-mail real, e é facílimo deixar ligado depois. Um domínio em modo de teste não obtém quase nenhum benefício do DKIM enquanto aparenta, em qualquer painel, estar totalmente configurado.

Nenhuma das duas invalida o registro, então um verificador que só relata erros vai dizer que está tudo certo. Aqui as duas aparecem como avisos, porque o registro está bem formado e o efeito não é o que quase ninguém pretende.

Limites assumidos

Um navegador não resolve DNS, então esta ferramenta não consegue buscar o seu registro nem dizer se ele existe no nome que você imagina. Ela confere o que você cola. É a mesma restrição sob a qual o verificador de SPF deste site trabalha, e é real, não uma escolha de design.

Ela também não consegue dizer se a chave corresponde à privada com que o seu servidor realmente assina. Essa é a outra metade de um DKIM funcionando e só se testa enviando uma mensagem e lendo os cabeçalhos do outro lado. Um registro perfeitamente válido pode estar na frente de uma chave que não combina.

Seletores não são descobríveis. Não há como perguntar a um domínio quais seletores ele publica, e é por isso que toda ferramenta de DKIM pede um e por isso a sondagem citada acima teve de adivinhar dez nomes comuns. Se você não sabe o seu, o cabeçalho de qualquer mensagem assinada que você enviou o carrega no campo s=.

O tamanho da chave é lido percorrendo a estrutura DER da chave pública, que são alguns blocos aninhados com o comprimento na frente e não precisa de biblioteca de criptografia nenhuma. Ele é conferido contra os tamanhos que o próprio módulo crypto do Node informa para chaves reais geradas a 1024, 2048, 3072 e 4096 bits. Tirar o tamanho do comprimento da string base64 — atalho confiável para chaves RSA padrão — é usado só como conferência cruzada nos testes, nunca como a resposta.

Por que é grátis?

A análise e a decodificação da chave rodam no seu navegador. Não há servidor envolvido, então não há nada para cobrar nem conta para criar.

Nada é enviado e nada é guardado. O seu registro é um valor público de DNS de qualquer forma, mas ele não sai da página: recarregue e sumiu.