Saltar al contenido
ecdsa.com

Firmas de mensajes HTTP

El estándar del IETF (RFC 9421, febrero de 2024) para firmar componentes seleccionados de una solicitud o respuesta HTTP, con la firma transmitida en los campos de encabezado Signature-Input y Signature.
También se escribeRFC 9421Signature-InputHTTP signaturesHTTPSig

El firmante enumera en Signature-Input los componentes cubiertos —derivados, como @method, @authority, @path, @query y @status, y campos de encabezado, como content-digest— junto con los parámetros created, expires, nonce, keyid, alg y tag; la base de firma es un texto canónico construido a partir de esos valores, y Signature contiene el resultado. Entre los algoritmos están ecdsa-p256-sha256 (r‖s en bruto), ed25519, rsa-pss-sha512 y hmac-sha256.

Para cubrir el cuerpo hace falta un encabezado Content-Digest (RFC 9530). Como los intermediarios pueden reescribir encabezados, los firmantes solo deberían cubrir componentes que lleguen intactos a su destino. Entre sus usos están Web Bot Auth, para identificar clientes automatizados; el perfil de firma de mensajes de FAPI 2.0; la federación al estilo de Mastodon, que está abandonando las antiguas firmas draft-cavage, y la firma de webhooks.

La herramienta de firmas de mensajes HTTP construye la base de firma y verifica las firmas localmente.

Estándares y referencias

Todos los términos