Visual RFC.
ALL RFCs / RFC 6376
Read the RFC ↗
RFC 6376 / MECHANISM GUIDE

Body hash and selected headers

03

A body hash is included in the signed DKIM header, which is itself included in the signature calculation.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 3.7 ↗
RFC 6376 · § 3.7EXAMPLE
3 / 3
Body hash and selected headersA body hash is included in the signed DKIM header, which is itself included in the signature calculation.Body hash and selected headersBody → canonical bytes → bh=hashh=from:subject:dateSignature over selected headers + bhThe signature binds selected inputs, not encryption
03
Create signature

The signing key authenticates the combined selected input.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

bh= carries the canonicalized body hash.

  • bh= carries the canonicalized body hash.
  • h= identifies the signed header fields under the selection rules.
  • Optional body-length signing has additional risks and does not protect unsigned appended data.
DETAILS

Examples are illustrative. Consult the linked RFC and its errata for implementation details.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. Signing domain and selector
  2. Canonicalization
  3. Body hash and selected headers
  4. DNS key verification
  5. Mutation and trust limits

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗