JWS
RFC 7515 JSON Web Signature OpenID ConnectではデータはJWT形式のJSONなことが多い。 Compact形式はBASE64URLを . でheader, payload, signature と3つつなげたものになる
JSON形式も可、JSON形式から作る方が楽かもしれない。
JWTの入れ物としてJWS Compact署名が使われる。
JWEとはどちらの順でも入れ子にできるので必要に応じて対応するとよいのかも。
RFC 7515 JWS 署名
等がセット
アルゴリズムはJWAに分けられているがサンプルを見ればJWSだけでも実装できたり。
table:署名アルゴリズム (JWA)
署名方式 SHA-256 SHA-384 SHA-512
なし none 署名しない
HMAC HS256 HS384 HS512 共通鍵MAC 必須 Required RSASSA-PKCS1_v1_5 RS256 RS384 RS512 RSA公開鍵署名 推奨 Recommended ECDSA P-256 P-384 P-521 ES256 ES384 ES512 ECDSA楕円公開鍵署名 推奨+ Recommended+ RSASSA-PSS PS256 PS384 PS512 RSA公開鍵署名 Optional などを使う
alg アルゴリズム
jku JWK Set URL
jwk JSON Web Key
kid Key ID
x5u X.509 URL
x5c X.509 Certificate Chain
x5t X.509 Certificate SHA-1 Thumbprint
x5t#S256 X.509 Certificate SHA-256 Thumbprint
typ Type
cty Content Type
crit Critical
RFC 7797 BASE64URLを使わないJWSオプション、JWTでは使えない