署名者は、署名対象のコンポーネント(@method、@authority、@path、@query、@status などの派生コンポーネントと、content-digest などのヘッダーフィールド)を、パラメーター created、expires、nonce、keyid、alg、tag とともに Signature-Input に列挙します。署名ベースはこれらの値から構築される正規化されたテキストで、Signature にはその署名結果が入ります。アルゴリズムには ecdsa-p256-sha256(生の r‖s)、ed25519、rsa-pss-sha512、hmac-sha256 などがあります。
本文を署名対象に含めるには Content-Digest ヘッダー(RFC 9530)が必要です。中継者がヘッダーを書き換える可能性があるため、署名者は経路上で変更されないコンポーネントだけを署名対象にすべきです。用途としては、自動化されたクライアントを識別する Web Bot Auth、FAPI 2.0 のメッセージ署名プロファイル、旧来の draft-cavage 署名から移行しつつある Mastodon 型のフェデレーション、webhook の署名などがあります。
HTTP メッセージ署名検証ツールは、署名ベースを構築し、署名をローカルで検証します。