如何判斷你是否擁有 JWS 或 JWE
來自 JSON Web 加密規範(RFC 7516)的第 9 節:
通過檢查
alg
(演算法)標頭引數值,可以將 JWS 的 JOSE 標頭與 JWE 的 JOSE 標頭區分開來。如果值表示數字簽名或 MAC 演算法,或者值是無,則表示 JWS; 如果它代表金鑰加密,金鑰包裝,直接金鑰協議,金鑰包裝金鑰協議或直接加密演算法,則它適用於 JWE。 (在使用 JWS Compact Serialization 或 JWE Compact Serialization 時,提取要檢查的alg
值很簡單,使用 JWS JSON 序列化或 JWE JSON 序列化時可能會更困難。)
和
通過確定是否存在
enc
(加密演算法)成員,還可以將 JWS 的 JOSE 標頭與 JWE 標頭區分開來。如果enc
成員存在,則它是 JWE; 否則,它是一個 JWS。
JWS(簽名)##
{
"alg": "HS256"
}
JWE(加密)
{
"alg":"RSA1_5",
"enc":"A256GCM",
"iv":"__79_Pv6-fg",
"x5t":"7noOPq-hJ1_hCnvWh6IeYI2w9Q0"
}