Pular para o conteúdo
ecdsa.com

Assinaturas de mensagens HTTP

O padrão do IETF (RFC 9421, fevereiro de 2024) para assinar componentes selecionados de uma requisição ou resposta HTTP, com a assinatura transportada nos campos de cabeçalho Signature-Input e Signature.
Também escrito comoRFC 9421Signature-InputHTTP signaturesHTTPSig

O signatário lista em Signature-Input os componentes cobertos — derivados, como @method, @authority, @path, @query e @status, e campos de cabeçalho, como content-digest — com os parâmetros created, expires, nonce, keyid, alg e tag; a base de assinatura é um texto canônico montado a partir desses valores, e Signature contém o resultado. Os algoritmos incluem ecdsa-p256-sha256 (r‖s bruto), ed25519, rsa-pss-sha512 e hmac-sha256.

Para cobrir o corpo, é preciso um cabeçalho Content-Digest (RFC 9530). Como intermediários podem reescrever cabeçalhos, convém que os signatários cubram só os componentes que chegam intactos ao destino. Entre os usos estão o Web Bot Auth, para identificar clientes automatizados, o perfil de assinatura de mensagens do FAPI 2.0, a federação no estilo do Mastodon, que está abandonando as antigas assinaturas draft-cavage, e a assinatura de webhooks.

A ferramenta de assinaturas de mensagens HTTP monta a base de assinatura e verifica as assinaturas localmente.

Padrões e referências

Todos os termos