---
title: "Assinatura DKIM: O Cabeçalho DKIM-Signature Explicado | AutoSPF"
description: "Uma assinatura DKIM é uma assinatura criptográfica adicionada aos cabeçalhos de um e-mail (o cabeçalho DKIM-Signature) que permite aos receptores verificar a mensagem."
image: "https://autospf.com/images/og-default.png"
canonical: "https://autospf.com/pt/dkim/dkim-signature/"
---

# Assinatura DKIM

Uma assinatura DKIM é uma assinatura criptográfica adicionada aos cabeçalhos de um e-mail (o cabeçalho DKIM-Signature) que permite aos receptores verificar que a mensagem foi autorizada pelo domínio de envio e não foi alterada em trânsito. As tags principais incluem d (domínio), s (seletor), b (assinatura) e bh (hash do corpo).

Este guia faz parte do nosso guia completo sobre [DKIM](/pt/dkim/). Relacionado: [o registro DKIM](/pt/dkim/dkim-record/) e [por que o DKIM falha](/pt/dkim/why-dkim-fails/).

**Uma assinatura DKIM é uma assinatura criptográfica adicionada aos cabeçalhos de um e-mail — transportada no cabeçalho `DKIM-Signature` — que permite a um servidor receptor verificar que a mensagem foi autorizada pelo domínio de envio e não foi alterada em trânsito.** A assinatura é gerada com uma chave privada mantida pelo remetente e verificada contra uma chave pública correspondente publicada no DNS.

## Como é o cabeçalho DKIM-Signature

A assinatura viaja como um único campo de cabeçalho anexado à frente da mensagem. Ela reúne tudo o que um receptor precisa — o domínio de assinatura, o seletor, quais cabeçalhos foram assinados, um hash do corpo e a própria assinatura — em uma série de pares `tag=value` separados por ponto e vírgula.

```
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    d=example.com; s=selector1; t=1700000000;
    h=from:to:subject:date;
    bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
    b=Cg5Xje8kY0m5xT1pW2qL4vN8rH6dF3aZ9cU7bE0iQoR2sT4uV6wX8yZ1
    aB3cD5eF7gH9jK2lM4nP6qR8sT0uV2wX4yZ6aB8cD0eF2gH4jK6l=
```

O cabeçalho é inserido pelo servidor de e-mail do remetente antes de a mensagem sair do domínio. As quebras de linha e a indentação servem apenas para dobramento — o valor é logicamente uma única string contínua.

## As tags em uma assinatura DKIM

Cada tag carrega uma peça do quebra-cabeça de verificação. O signatário escolhe esses valores; o verificador os lê de volta para reconstruir e checar a assinatura.

| Tag   | Nome                 | Propósito                                                                          |
| ----- | -------------------- | ---------------------------------------------------------------------------------- |
| v     | Versão               | Versão do DKIM. Sempre 1.                                                          |
| a     | Algoritmo            | Algoritmo de hash e de assinatura, por exemplo rsa-sha256 ou ed25519-sha256.       |
| d     | Domínio              | O domínio de assinatura — a identidade que o DKIM autentica.                       |
| s     | Seletor              | Nomeia qual chave pública buscar no DNS do domínio.                                |
| h     | Cabeçalhos assinados | Lista separada por dois-pontos dos campos de cabeçalho cobertos pela assinatura.   |
| bh    | Hash do corpo        | Hash do corpo (canonicalizado) da mensagem.                                        |
| b     | Assinatura           | A assinatura criptográfica em si, codificada em base64.                            |
| c     | Canonicalização      | Como cabeçalhos/corpo são normalizados antes do hash, por exemplo relaxed/relaxed. |
| t / x | Timestamps           | t é quando a mensagem foi assinada; x é quando a assinatura expira.                |

## Como funciona a assinatura (ao enviar)

Quando uma mensagem sai do servidor de envio, o DKIM faz duas coisas. Primeiro, ele canonicaliza o corpo e faz o seu hash, armazenando o resultado em `bh`. Depois, ele canonicaliza os cabeçalhos nomeados em `h` — junto com o próprio cabeçalho DKIM-Signature (com um `b` vazio) — faz o hash desse bloco e assina o hash com a chave privada do domínio. A assinatura resultante torna-se o valor `b`. Como a chave privada nunca sai do remetente, apenas o verdadeiro proprietário do domínio pode produzir uma assinatura que será validada.

## Como funciona a verificação (ao receber)

O servidor receptor lê o cabeçalho `DKIM-Signature` para descobrir o domínio (`d`) e o [seletor](/pt/dkim/dkim-selector/). Ele consulta o DNS em `<selector>._domainkey.<domain>` para buscar a chave pública no [registro DKIM](/pt/dkim/dkim-record/). Em seguida, ele repete o trabalho do remetente: canonicaliza e faz o hash do corpo, compara-o com `bh`, canonicaliza e faz o hash dos cabeçalhos assinados, e usa a chave pública para checar `b` contra esse hash de cabeçalho. Se tanto o hash do corpo corresponder quanto a assinatura verificar, o DKIM passa. A verificação de `bh` é o que detecta qualquer adulteração no corpo da mensagem — até mesmo um único caractere alterado produz um hash diferente e falha na verificação.

## Quando as assinaturas falham

Uma assinatura DKIM falha sempre que a mensagem que o receptor vê não corresponde mais ao que o remetente assinou. As causas mais comuns são:

- **Modificação em trânsito** — listas de discussão, encaminhadores e alguns gateways reescrevem assuntos, anexam rodapés ou recodificam o corpo, o que quebra o hash do corpo.
- **Incompatibilidade de hash do corpo** — qualquer alteração na parte assinada do corpo muda `bh`, então a verificação falha mesmo que a chave esteja correta.
- **Chave errada ou ausente** — o seletor aponta para um registro DNS que está ausente, expirado ou contém a chave pública errada.

Para uma explicação mais completa das causas e correções, consulte [por que o DKIM falha](/pt/dkim/why-dkim-fails/), e use a [ferramenta gratuita de consulta DKIM](/pt/tools/dkim-lookup/) para confirmar que a chave pública de um seletor está publicada e bem formada.

## Perguntas Frequentes

### O que é uma assinatura DKIM?

Uma assinatura DKIM é uma assinatura criptográfica adicionada aos cabeçalhos de um e-mail no campo `DKIM-Signature`. O remetente a gera com uma chave privada sobre cabeçalhos selecionados e um hash do corpo. Os receptores a verificam contra uma chave pública no DNS, provando que a mensagem veio do domínio e não foi alterada.

### O que significa a tag b= em uma assinatura DKIM?

A tag `b=` contém a assinatura em si: um valor codificado em base64 produzido ao assinar um hash dos cabeçalhos assinados canonicalizados com a chave privada do domínio de envio. O receptor a decodifica e a verifica contra a chave pública buscada no DNS. Se os cabeçalhos assinados foram alterados em trânsito, a verificação de `b=` falha.

### Por que uma assinatura DKIM falha após o encaminhamento?

Encaminhadores e listas de discussão frequentemente modificam a mensagem — anexando rodapés, reescrevendo o assunto ou recodificando o corpo. Como o DKIM assina o corpo exato e os cabeçalhos selecionados, qualquer alteração desse tipo modifica o hash calculado de modo que ele não corresponde mais ao `bh` assinado ou ao hash do cabeçalho. A assinatura então falha na verificação, mesmo que a original fosse válida.

### O que é o hash do corpo (bh) no DKIM?

A tag `bh=` é um hash do corpo da mensagem após a canonicalização, calculado com o algoritmo nomeado em `a`. Ao receber, o verificador recalcula o hash do corpo e o compara com `bh`. Uma incompatibilidade significa que o corpo foi alterado em trânsito, então a assinatura é rejeitada antes mesmo de a assinatura criptográfica em `b=` ser checada.

Rated 5/5 on G2 · Trusted since 2018 

##  Trusted by 50,000+ domains 

### "AutoSPF Flattens SPF Records Seamlessly & Keeps Changes Logged - I am quite pleased with the product"

> It does what it promises to do, and does it very well. I appreciate that it keeps a log of changes made, which prevents many mistakes. A client's SPF record would have way too many lookups, but AutoSPF makes that problem go away. The length of the SPF record is typically not the issue; it's the amount of lookups in the record that are. AutoSPF "flattens" the record, automatically expanding the defined lookups to IP addresses or ranges. And it auto-updates the record when the un-flattened lookups change. 

 PJ 

Peter J.

 President · Small-Business (50 or fewer emp.) 

### "Helped us go beyond capacity"

> AutoSPF did exactly as described, it helped us get past our 10 lookup limit. Afterwards, we hit another limit regarding overall capacity and when contacted, they quickly provided us with a new solution to eliminate capacity issues entirely going forward, so now we can add as many SPF records as needed. They also provided us with a personalized support video explaining their new method in its entirety using our instance as the example. 

 VU 

Verified User

 Financial Services · Mid-Market (51-1000 emp.) 

### "Great service and great support"

> AutoSPF was easy to initially set up on our own and a great cost effective entry into spf flattening. Needed our first support assistance today and got great response including a video demonstrating the issue I was trying to solve, a quick fix, and more detailed followup. 

 GF 

Greg F.

 Mid-Market (51-1000 emp.) 

[Read our reviews on G2 ](https://www.g2.com/products/autospf/reviews)

```json
{"@context":"https://schema.org","@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897474","name":"AutoSPF","url":"https://autospf.com","logo":{"@type":"ImageObject","url":"https://autospf.com/images/autospf-logo.png"},"description":"Automatic SPF flattening and email authentication management. Resolve SPF lookup limits, flatten SPF records, and maintain email deliverability across all your domains.","parentOrganization":{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138883901","name":"DuoCircle LLC","url":"https://www.duocircle.com","sameAs":["https://www.wikidata.org/wiki/Q138883901","https://www.crunchbase.com/organization/duocircle-llc","https://www.linkedin.com/company/duocircle","https://github.com/duocircle"],"subOrganization":[{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138898167","name":"DMARC Report","url":"https://dmarcreport.com"},{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897474","name":"AutoSPF","url":"https://autospf.com"},{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897912","name":"Phish Protection","url":"https://www.phishprotection.com"}]},"sameAs":["https://www.wikidata.org/wiki/Q138897474","https://www.linkedin.com/company/autospf","https://x.com/autospf01","https://www.facebook.com/autospf","https://github.com/duocircle","https://www.g2.com/products/autospf/reviews"],"aggregateRating":{"@type":"AggregateRating","ratingValue":"5.0","reviewCount":"21","bestRating":"5","worstRating":"1","url":"https://www.g2.com/products/autospf/reviews"},"contactPoint":{"@type":"ContactPoint","contactType":"customer support","url":"https://autospf.com/contact-us/"},"knowsAbout":["SPF Record Flattening","Sender Policy Framework","Email Authentication","DNS Management","DMARC","DKIM","Email Deliverability","SPF Lookup Limits"]}
```

```json
{"@context":"https://schema.org","@type":"WebSite","name":"AutoSPF","url":"https://autospf.com","description":"Automatic SPF flattening and email authentication management. Resolve SPF lookup limits, flatten SPF records, and maintain email deliverability across all your domains.","publisher":{"@type":"Organization","name":"AutoSPF","url":"https://autospf.com","logo":{"@type":"ImageObject","url":"https://autospf.com/images/autospf-logo.png"},"description":"Automatic SPF flattening and email authentication management. Resolve SPF lookup limits, flatten SPF records, and maintain email deliverability across all your domains.","parentOrganization":{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138883901","name":"DuoCircle LLC","url":"https://www.duocircle.com","sameAs":["https://www.wikidata.org/wiki/Q138883901","https://www.crunchbase.com/organization/duocircle-llc","https://www.linkedin.com/company/duocircle","https://github.com/duocircle"],"subOrganization":[{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138898167","name":"DMARC Report","url":"https://dmarcreport.com"},{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897474","name":"AutoSPF","url":"https://autospf.com"},{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897912","name":"Phish Protection","url":"https://www.phishprotection.com"}]}}}
```

```json
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"O que é uma assinatura DKIM?","acceptedAnswer":{"@type":"Answer","text":"Uma assinatura DKIM é uma assinatura criptográfica adicionada aos cabeçalhos de um e-mail no campo `DKIM-Signature`. O remetente a gera com uma chave privada sobre cabeçalhos selecionados e um hash do corpo. Os receptores a verificam contra uma chave pública no DNS, provando que a mensagem veio do domínio e não foi alterada."}},{"@type":"Question","name":"O que significa a tag b= em uma assinatura DKIM?","acceptedAnswer":{"@type":"Answer","text":"A tag `b=` contém a assinatura em si: um valor codificado em base64 produzido ao assinar um hash dos cabeçalhos assinados canonicalizados com a chave privada do domínio de envio. O receptor a decodifica e a verifica contra a chave pública buscada no DNS. Se os cabeçalhos assinados foram alterados em trânsito, a verificação de `b=` falha."}},{"@type":"Question","name":"Por que uma assinatura DKIM falha após o encaminhamento?","acceptedAnswer":{"@type":"Answer","text":"Encaminhadores e listas de discussão frequentemente modificam a mensagem — anexando rodapés, reescrevendo o assunto ou recodificando o corpo. Como o DKIM assina o corpo exato e os cabeçalhos selecionados, qualquer alteração desse tipo modifica o hash calculado de modo que ele não corresponde mais ao `bh` assinado ou ao hash do cabeçalho. A assinatura então falha na verificação, mesmo que a original fosse válida."}},{"@type":"Question","name":"O que é o hash do corpo (bh) no DKIM?","acceptedAnswer":{"@type":"Answer","text":"A tag `bh=` é um hash do corpo da mensagem após a canonicalização, calculado com o algoritmo nomeado em `a`. Ao receber, o verificador recalcula o hash do corpo e o compara com `bh`. Uma incompatibilidade significa que o corpo foi alterado em trânsito, então a assinatura é rejeitada antes mesmo de a assinatura criptográfica em `b=` ser checada."}}]}
```

```json
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://autospf.com/"},{"@type":"ListItem","position":2,"name":"DKIM","item":"https://autospf.com/pt/dkim/"},{"@type":"ListItem","position":3,"name":"DKIM","item":"https://autospf.com/pt/dkim/dkim-signature/"}]}
```

```json
{"@context":"https://schema.org","@type":"Product","name":"AutoSPF","url":"https://autospf.com","aggregateRating":{"@type":"AggregateRating","ratingValue":5,"reviewCount":21,"bestRating":5,"worstRating":1},"review":[{"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":5,"bestRating":5},"author":{"@type":"Person","name":"Peter J.","jobTitle":"President"},"datePublished":"2026-03-10","reviewBody":"It does what it promises to do, and does it very well. I appreciate that it keeps a log of changes made, which prevents many mistakes. A client's SPF record would have way too many lookups, but AutoSPF makes that problem go away. The length of the SPF record is typically not the issue; it's the amount of lookups in the record that are. AutoSPF \"flattens\" the record, automatically expanding the defined lookups to IP addresses or ranges. And it auto-updates the record when the un-flattened lookups change.","name":"AutoSPF Flattens SPF Records Seamlessly & Keeps Changes Logged - I am quite pleased with the product","publisher":{"@type":"Organization","name":"G2","url":"https://www.g2.com"}},{"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":5,"bestRating":5},"author":{"@type":"Person","name":"Verified User","jobTitle":"Financial Services"},"datePublished":"2025-07-31","reviewBody":"AutoSPF did exactly as described, it helped us get past our 10 lookup limit. Afterwards, we hit another limit regarding overall capacity and when contacted, they quickly provided us with a new solution to eliminate capacity issues entirely going forward, so now we can add as many SPF records as needed. They also provided us with a personalized support video explaining their new method in its entirety using our instance as the example.","name":"Helped us go beyond capacity","publisher":{"@type":"Organization","name":"G2","url":"https://www.g2.com"}},{"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":5,"bestRating":5},"author":{"@type":"Person","name":"Greg F."},"datePublished":"2023-07-26","reviewBody":"AutoSPF was easy to initially set up on our own and a great cost effective entry into spf flattening. Needed our first support assistance today and got great response including a video demonstrating the issue I was trying to solve, a quick fix, and more detailed followup.","name":"Great service and great support","publisher":{"@type":"Organization","name":"G2","url":"https://www.g2.com"}}]}
```
