跳到主要内容
ecdsa.com

alg(JOSE 算法头部参数)

JOSE 头部参数,指明 JWS 的签名或 MAC 算法(例如 ES256)或 JWE 的密钥管理算法(例如 RSA-OAEP-256),由 RFC 7518 及后续 RFC 注册。
其他写法alg headeralgorithm header parameterenc

在 JWS 中,alg 决定签名的计算方式:HS256、RS256、PS256、ES256、ES256K、Ed25519 等,或 none。在 JWE 中,它决定内容密钥的传递方式,而 enc 指明内容加密算法。取值是区分大小写的字符串,登记在 IANA 的“JSON Web Signature and Encryption Algorithms”注册表中。

在签名验证通过之前,头部都可能被攻击者控制,因此验证方不得让它决定算法:为每个密钥配置可接受的算法(最好只有一种),其余一律拒绝(RFC 8725 §3.1)。按 alg 分派处理的库曾经接受过 none,或者把 RSA 公钥当作 HMAC 密钥使用。

RFC 9864(2025年)弃用了 EdDSA 这类含义取决于密钥的“多态”标识符,改用 Ed25519 这类完全指定的标识符,使算法名称本身就能确定具体运算。

标准与参考资料

全部术语