Pular para o conteúdo
ecdsa.com

alg (cabeçalho de algoritmo JOSE)

O parâmetro de cabeçalho JOSE que indica o algoritmo de assinatura ou de MAC de um JWS (por exemplo, ES256) ou o algoritmo de gerenciamento de chaves de um JWE (por exemplo, RSA-OAEP-256), registrado pela RFC 7518 e por RFCs posteriores.
Também escrito comoalg headeralgorithm header parameterenc

Em um JWS, alg define como a assinatura é calculada: HS256, RS256, PS256, ES256, ES256K, Ed25519 etc., ou none. Em um JWE, ele define como a chave de conteúdo é entregue, enquanto enc indica a cifra do conteúdo. Os valores são strings que diferenciam maiúsculas de minúsculas, no registro “JSON Web Signature and Encryption Algorithms” da IANA.

Até a assinatura ser verificada, o cabeçalho está sob controle do atacante; por isso, o verificador não deve deixar que ele decida o algoritmo: configure o algoritmo aceito (de preferência um só) para cada chave e rejeite todo o resto (RFC 8725 §3.1). Bibliotecas que escolhem a operação com base em alg já aceitaram none ou usaram uma chave pública RSA como segredo HMAC.

A RFC 9864 (2025) torna obsoletos os identificadores “polimórficos”, como EdDSA, cujo significado depende da chave, em favor de identificadores totalmente especificados, como Ed25519, para que só o nome do algoritmo determine a operação.

Padrões e referências

Todos os termos