Sintaxe DKIM
A sintaxe do DKIM é definida pelo RFC 6376, que especifica o formato e as regras para o campo de cabeçalho DKIM-Signature, o registro DNS de chave pública e os algoritmos de assinatura e verificação.
O campo de cabeçalho DKIM-Signature consiste em uma série de pares de valores de tags, separados por ponto e vírgula, que fornecem informações sobre a assinatura DKIM. As tags não diferenciam maiúsculas de minúsculas e têm os seguintes significados:
Tag | Descrição |
---|---|
v | A versão do DKIM. A versão atual é 1. |
a | O algoritmo usado para gerar o hash e a assinatura. Os algoritmos suportados são rsa-sha1 e rsa-sha256. |
b | Os dados da assinatura, codificados em base64. |
bh | O hash do conteúdo do e-mail, codificado em base64. |
c | O algoritmo de canonicalização usado para normalizar os cabeçalhos e o corpo do e-mail antes de aplicar o hash. Os algoritmos suportados são simple e relaxed. |
d | O domínio da entidade assinante. |
h | A lista de campos de cabeçalho incluídos na assinatura, separados por dois pontos. |
i | A identidade do agente assinante, que pode ser um subdomínio ou um usuário dentro do domínio assinante. |
l | O comprimento do corpo do e-mail que é assinado, em bytes. Se omitido, todo o corpo é assinado. |
q | O método de consulta usado para recuperar a chave pública. O método suportado é dns/txt, o que significa que a chave pública está armazenada em um registro TXT no DNS. |
s | O seletor que identifica a chave pública a ser usada para verificação. |
t | O timestamp de quando a assinatura foi criada, em segundos desde 00:00:00 de 1º de janeiro de 1970 UTC. |
x | O tempo de expiração da assinatura, em segundos desde 00:00:00 de 1º de janeiro de 1970 UTC. Se omitido, a assinatura não expira. |
z | Os campos de cabeçalho originais que foram assinados, codificados em base64. Esta tag é opcional e usada apenas para fins de depuração. |
Um exemplo de registro DNS de chave pública é:
Seletor:
dkimkey._domainkey.example.com.
Valor:
"v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfjgu4wJ4hm7T3cjhYfyX3WfZwLGNqJtU2Ol1i8sT1o3F1FbZI4P7FqQW7MkMfsHnY6f7loG+RwkZsKdowq+8Gg9G2xRF1YJynBKLpdX4eR4Q2m5F3LjMfQSSMmN1CRrSeyRGNVQqjxweG5lJfR0GZsT7hnrccllH+oL1HhQIDAQ"
Tópicos Relacionados
- O que é DKIM? - Uma introdução ao DKIM e seu papel na autenticação de e-mails
- Como o DKIM Funciona? - Detalhes técnicos sobre a implementação e operação do DKIM
- Por que o DKIM é Importante? - Benefícios e importância da implementação do DKIM
- Limitações do DKIM - Restrições e desafios atuais