keys

JWK集合

[12] JWK集合は、 JWK をいくつか含められる JSON応用です。

仕様書

構文

[35] application/jwe-set+json では RFC 3629 UTF-8 符号化するべきとされます。 >>34

[36] なぜか必須ではなく、他の文字符号化の余地が残されています。

[37] 暗号化JWK集合では RFC 3629 UTF-8 と定義されていて、他の選択肢は提供されていません。

データモデル

[3] JWK (しゅう) (ごう) (JWK Set) は、 JWK集合を表すJSONオブジェクトです。 >>2, >>5

[6] JSONオブジェクト
keys
必須JWK配列でなければなりません>>2, >>5 既定では JWK の順序は優先度を表しませんが、 応用次第で順序に意味を持たせることができます。 >>5
[10] keys の規定より、「JWK集合」は集合と称していますが、 順序が意味を持つことがある点に注意。
[11] まったく同等の JWK を複数含められるのか不明ですが、 特に禁止されていないので可能と考えるべきでしょう。
[15] 配列 = 事実上JWK集合とできるのかは不明です。 禁止されていないので素直に読めば出来るということになります。

[27] JWK集合にはその他のメンバーがあるかもしれません。 実装は理解しないメンバーを無視しなければなりません>>5

[28] JWK集合メンバーの名前は、 IANA登録簿 >>13 に登録された値か、 耐衝突名を含む値であるべき (should) です。 >>5

[14] 本段落執筆 (令和4年) 時点で、 IANA登録簿にあるのは keys だけです >>13

[26] メンバーの名前は、JWK集合内で固有でなければなりませんJWK集合構文解析器は、 JWK集合メンバー名の重複を含む時、 これを拒絶するか、 または重複するメンバー名について字句的に最後のもののみ採用する JavaScript JSON.parse と同じ挙動の JSON 構文解析器を使うかしなければなりません>>5

文脈

[1] jku ヘッダー引数から参照されます。

[16] 暗号化JWK集合としても使われます。

MIME型

[32] MIME型
MIME型
application/jwk-set+json
説明
JWK
CTE
8bit

[33] cty では省略されて jwk-set+json と書かれます。

処理

[4] 実装は、 JWK集合中の JWK について、

... のいずれかを満たすならば、無視するべきです>>5

メモ