JWS
JSON Web Signature
RFC 7515 JSON Web Signature (JWS)
IANA JSON Web Signature and Encryption Header Parameters
IANA JSON Web Signature and Encryption Algorithms
共通鍵の使用
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
鍵の特定に使うヘッダパラメータ
jku : JWK Set URL, optional
署名に使用した秘密鍵に対応する公開鍵を指すURI RFC 3986
jwk : Json Web Key, optional
署名に使用した秘密鍵に対応する公開鍵
kid : Key ID, 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
#JOSE