RS256 (JWK)
必須のプロパティ
1. **kty (Key Type)**: キーのタイプを示すために必要。RS256 の場合は、RSA を使用します。
2. **n (Modulus)**: RSA 公開鍵のモジュラスを表すために必要。Base64 URL エンコード
3. **e (Exponent)**: RSA 公開鍵の公開指数を表すために必要。通常は AQAB や 65537 などの値が Base64 URL エンコードされて使用されます。
オプショナルなプロパティ
1. **use**: キーの使用目的(署名の場合は sig、暗号化の場合は enc)。
alg プロパティに RS256 を指定した JWK は、通常、署名を生成するために使用されるため、use プロパティは sig に設定されることが一般的 2. **kid (Key ID)**: キーを一意に識別するための識別子。
特に複数のキーを使用している場合に、どのキーが使用されたかを識別するのに役立ちます
3. **alg**: このキーで使用されるアルゴリズム。RS256 がここに設定されます。
4. **key_ops**: キーが実行する操作の意図された用途を指定する文字列の配列(例:["sign", "verify"])。
5. **x5u (X.509 URL)**: X.509公開鍵証明書を取得するためのURL。 6. **x5c (X.509 Certificate Chain)**: X.509公開鍵証明書チェーン。Base64エンコードされた証明書の文字列の配列。 7. **x5t (X.509 Certificate SHA-1 Thumbprint)**: X.509公開鍵証明書のSHA-1サムプリント。 8. **x5t#S256 (X.509 Certificate SHA-256 Thumbprint)**: X.509公開鍵証明書のSHA-256サムプリント。 秘密鍵の場合
秘密鍵情報を含むJWKの場合、以下のプロパティも含まれることがありますが、これらは外部に公開すべきではありません。 1. **d (Private Exponent)**: RSA秘密鍵のプライベート指数。
2. その他、RSA秘密鍵のCRTパラメータ: p, q, dp, dq, qi など。