3.1. JWT Certificate Thumbprint Confirmation Method (JWT 证书指纹确认方法)
3.1 JWT Certificate Thumbprint Confirmation Method (JWT 证书指纹确认方法)
当 access token 表示为 JSON Web Token (JWT) [RFC7519] 时, 证书哈希信息应该使用本文定义的 x5t#S256 confirmation method member (确认方法成员) 表示.
为了在 JWT 中表示证书的哈希, 本规范为 X.509 Certificate SHA-256 Thumbprint (X.509 证书 SHA-256 指纹) 定义新的 JWT Confirmation Method [RFC7800] 成员 x5t#S256. x5t#S256 成员的值为 base64url 编码 [RFC4648] 的 SHA-256 [SHS] 哈希 (亦称 thumbprint, fingerprint 或 digest), 针对 X.509 证书 [RFC5280] 的 DER 编码 [X690]. base64url 编码值必须省略所有尾部填充 = 字符, 且不得包含换行, 空白或其他附加字符.
以下 JWT payload 示例包含 x5t#S256 证书指纹确认方法. 本规范引入的新 JWT 内容为示例底部的 cnf confirmation method claim (确认方法声明), 其带有 x5t#S256 确认方法成员, 值为 access token 所绑定客户端证书的哈希.
{
"iss": "https://server.example.com",
"sub": "[email protected]",
"exp": 1493726400,
"nbf": 1493722800,
"cnf":{
"x5t#S256": "bwcK0esc3ACC3DB2Y5_lESsXE8o9ltc05O89jdN-dg2"
}
}
图 2: 含 X.509 证书指纹确认方法的 JWT 声明集示例