Divisor de registro TXT de DNS
Corte um valor TXT longo nas cadeias de 255 bytes que o DNS exige, pronto para o arquivo de zona.
O Divisor de registro TXT roda inteiramente no seu navegador. Chaves e tokens de verificação são fatiados no seu dispositivo e nunca enviados.
Gerar um registro DKIM
Sobre Divisor de registro TXT
Um registro TXT não é uma única cadeia. A RFC 1035 o guarda como uma sequência de cadeias de caracteres de no máximo 255 bytes, e o resolvedor as junta sem nada no meio. Por isso uma chave DKIM de 2048 bits precisa ser entregue ao arquivo de zona em vários pedaços entre aspas, e por isso dividi-la no lugar errado — ou juntar as partes com um espaço — quebra a assinatura de e-mail de um jeito difícil de depurar. Esta ferramenta corta em limites de bytes, nunca no meio de um caractere, e formata o resultado para BIND, para uma entrada entre parênteses ou como o array JSON que a maioria das APIs de DNS aceita.
Recursos
- Divide em limites de 255 bytes, contando bytes e não caracteres
- Nunca corta um caractere multibyte nem um par substituto
- Formato para BIND em uma linha, entre parênteses, só as cadeias ou array JSON
- Contagem de bytes por pedaço, para ver quais cadeias estão cheias
- Avisa sobre espaços sobrando, aspas já presentes e registros acima de 512 bytes
- Junta de volta cadeias de um arquivo de zona ou de uma resposta do dig
- Exemplos de chave DKIM de 2048 bits, SPF longo e token de verificação
Como usar Divisor de registro TXT
- Cole o valor TXT completo: as aspas são adicionadas para você
- Informe o nome do registro e o TTL se quiser uma linha de zona completa
- Escolha o formato de saída que o seu provedor de DNS espera
- Copie o registro, ou use a aba de juntar para reverter um valor dividido
Exemplo
Entrada
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A… (392 bytes)
Saída
default._domainkey 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIja…" "…QIDAQAB"
Duas cadeias entre aspas que o resolvedor concatena sem nada entre elas.
Erros comuns e solução de problemas
- O provedor de DNS rejeita o registro por ser longo demais. — Ele está aplicando o limite de 255 bytes a uma única cadeia. Cole a versão dividida, com cada pedaço entre aspas separadamente.
- A verificação DKIM falha depois de dividir. — Quase sempre é um espaço entre os pedaços. Os resolvedores concatenam as cadeias sem nada no meio, então qualquer espaço adicionado passa a fazer parte da chave.
- O valor do registro já tem aspas. — Cole o valor puro. As aspas são adicionadas na formatação, e colar um valor já entre aspas acaba duplicando-as.
- Os pedaços têm menos de 255 caracteres. — O limite é de 255 bytes, não de caracteres. Qualquer caractere não ASCII ocupa de dois a quatro bytes, então um pedaço pode ter menos caracteres e ainda assim estar cheio.
Perguntas frequentes
- Por que um registro TXT é limitado a 255 caracteres?
- Cada cadeia dentro de um registro TXT tem um prefixo de comprimento de um byte, o que limita uma cadeia a 255 bytes. O registro inteiro pode ter várias, então o limite real é o tamanho da mensagem DNS.
- Como o resolvedor junta de novo as cadeias TXT?
- Ele as concatena em ordem sem separador algum. Esse comportamento é o que DKIM, SPF e tokens de verificação usam, e por isso o ponto de corte não importa desde que nada seja inserido.
- Onde devo dividir uma chave DKIM?
- Em qualquer lugar, desde que cada parte não passe de 255 bytes. Para o verificador a chave é uma única cadeia Base64 depois de juntas as partes, então cortar no meio do Base64 é válido.
- Qual o tamanho máximo de um registro TXT inteiro?
- Na prática alguns kilobytes, mas respostas acima de cerca de 512 bytes precisam de EDNS ou de uma nova tentativa por TCP. Alguns resolvedores lidam mal com isso, então ficar abaixo evita falhas intermitentes.
- Preciso dividir um registro SPF do mesmo jeito?
- Só se uma única cadeia passar de 255 bytes, o que acontece com muitas inclusões. Vale lembrar que o SPF tem também o próprio limite de dez consultas DNS, e dividir não ajuda nisso.
Ferramentas relacionadas
Todas as ferramentas de ArrayKit