Перейти к содержимому
ecdsa.com

Подписи HTTP-сообщений

Стандарт IETF (RFC 9421, февраль 2024 года) для подписи выбранных компонентов HTTP-запроса или HTTP-ответа; подпись передаётся в полях заголовка Signature-Input и Signature.
Другие написанияRFC 9421Signature-InputHTTP signaturesHTTPSig

Подписант перечисляет в Signature-Input компоненты, которые охватывает подпись (производные, например @method, @authority, @path, @query, @status, и поля заголовка, например content-digest), вместе с параметрами created, expires, nonce, keyid, alg и tag; база подписи (signature base) — канонический текст, построенный из этих значений, а Signature содержит результат. Среди алгоритмов — ecdsa-p256-sha256 (raw r‖s), ed25519, rsa-pss-sha512 и hmac-sha256.

Чтобы подпись охватывала тело сообщения, нужен заголовок Content-Digest (RFC 9530). Промежуточные узлы могут переписывать заголовки, поэтому подписантам следует включать в подпись только те компоненты, которые не меняются по пути. Применения: Web Bot Auth для идентификации автоматизированных клиентов, профиль подписи сообщений FAPI 2.0, федерация по образцу Mastodon, которая уходит от подписей по более старому черновику draft-cavage, и подпись вебхуков.

Инструмент для подписей HTTP-сообщений строит базу подписи и проверяет подписи локально.

Стандарты и ссылки

Все термины