JWS
JSON Web Signature
共通鍵の使用
JWSは主に公開鍵の使用を前提としている
The means of exchanging any shared symmetric keys used is outside the scope of this specification.
JWSの構造
code:JWS Compact Serialization
JWS Header = BASE64URL(UTF8(JWS Protected Header))
JWS Payload = BASE64URL(JWS Payload)
JWS Signing Input = JWS Header || '.' || JWS Payload
JWS Signature = SIGNING_ALGORITHM(JWS Signing Input)
JWS Compact Serialization = JWS Signing Input || '.' || BASE64URL(JWS Signature)
code:JWS JSON Serialization
{
"protected" : JWS Header,
"header" : JWS Unprotected Header,
"
JWSの例
code:JWSの例
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
鍵の特定に使うヘッダパラメータ
jwk : Json Web Key, optional 署名に使用した秘密鍵に対応する公開鍵
署名に使用した秘密鍵を特定する何らかのヒント
値についてcase-sensitiveであること以外は規定されていない
x5u : X.509 URL, optional x5c : X.509 Certificate Chain x5t : X.509 Certificate SHA-1 Thumpprint x5t#S256 : X.509 Certificate SHA-256 Thumbprint