Der Signierer fügt einen Header DKIM-Signature hinzu, der seine Domain (d=), einen Selektor (s=), die signierten Header (h=), einen Hash des kanonisierten Bodys (bh=) und die Signatur (b=) nennt. Der Empfänger holt den Schlüssel aus dem TXT-Eintrag unter selector._domainkey.domain, berechnet den Body-Hash neu und prüft die Signatur über die kanonisierten Header. Als Algorithmen gibt es rsa-sha256 und ed25519-sha256 (RFC 8463); RFC 8301 verbietet rsa-sha1 und verlangt Schlüssel mit mindestens 1024 Bit, empfohlen sind 2048.
DKIM authentifiziert die signierende Domain, nicht die sichtbare Adresse in From; DMARC verknüpft beide über das Alignment. Signaturen werden ungültig, wenn Zwischenstationen signierte Inhalte verändern (Fußzeilen von Mailinglisten, Tags im Betreff, manche Sicherheits-Gateways) – deshalb gibt es ARC –, und eine gültig signierte Nachricht lässt sich erneut an neue Empfänger versenden (DKIM-Replay).
Die DKIM-Arbeitsgruppe der IETF, die im Februar 2025 eine neue Charter erhielt, entwickelt einen Nachfolger (DKIM2), der jede Station signiert und den Envelope einbindet; 2026 war er noch ein Internet-Draft. Der DKIM-Debugger prüft eine Nachricht Schritt für Schritt im Browser.