Skip to content

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:

TagDescrição
vA versão do DKIM. A versão atual é 1.
aO algoritmo usado para gerar o hash e a assinatura. Os algoritmos suportados são rsa-sha1 e rsa-sha256.
bOs dados da assinatura, codificados em base64.
bhO hash do conteúdo do e-mail, codificado em base64.
cO 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.
dO domínio da entidade assinante.
hA lista de campos de cabeçalho incluídos na assinatura, separados por dois pontos.
iA identidade do agente assinante, que pode ser um subdomínio ou um usuário dentro do domínio assinante.
lO comprimento do corpo do e-mail que é assinado, em bytes. Se omitido, todo o corpo é assinado.
qO 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.
sO seletor que identifica a chave pública a ser usada para verificação.
tO timestamp de quando a assinatura foi criada, em segundos desde 00:00:00 de 1º de janeiro de 1970 UTC.
xO 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.
zOs 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