A.6. Example Nested CWT (嵌套 CWT 示例)
A.6. Example Nested CWT (嵌套 CWT 示例)
本节展示了一个嵌套 CWT, 先签名后加密, 具有单个接收者和完整的 CWT Claims Set。
签名使用附录 A.2.3 中的私有 ECDSA 密钥生成, 可以使用附录 A.2.3 中的公共 ECDSA 部分进行验证。加密使用 AES-CCM 模式进行, 使用附录 A.2.1 中的 128 位对称密钥, 具有 64 位标签和 13 字节随机数, 即 COSE AES-CCM-16-64-128。内容类型设置为 CWT, 以指示在找到 CWT Claims Set 之前有多层 COSE 保护。解密的密文将是 COSE_sign1 结构。在此示例中, 它与附录 A.3 中的相同, 即签名的 CWT Claims Set。请注意, 层数没有限制; 这是一个有两层的示例。换行仅用于显示目的。
d08343a1010aa2044c53796d6d6574726963313238054d4a0694c0e69ee6b595
6655c7b258b7f6b0914f993de822cc47e5e57a188d7960b528a747446fe12f0e
7de05650dec74724366763f167a29c002dfd15b34d8993391cf49bc91127f545
dba8703d66f5b7f1ae91237503d371e6333df9708d78c4fb8a8386c8ff09dc49
af768b23179deab78d96490a66d5724fb33900c60799d9872fac6da3bdb89043
d67c2a05414ce331b5b8f1ed8ff7138f45905db2c4d5bc8045ab372bff142631
610a7e0f677b7e9b0bc73adefdcee16d9d5d284c616abeab5d8c291ce0
图 16: 签名和加密 CWT 的十六进制字符串
16(
[
/ protected / << {
/ alg / 1: 10 / AES-CCM-16-64-128 /
} >>,
/ unprotected / {
/ kid / 4: h'53796d6d6574726963313238' / 'Symmetric128' /,
/ iv / 5: h'4a0694c0e69ee6b5956655c7b2'
},
/ ciphertext / h'f6b0914f993de822cc47e5e57a188d7960b528a7474
46fe12f0e7de05650dec74724366763f167a29c002d
fd15b34d8993391cf49bc91127f545dba8703d66f5b
7f1ae91237503d371e6333df9708d78c4fb8a8386c8
ff09dc49af768b23179deab78d96490a66d5724fb33
900c60799d9872fac6da3bdb89043d67c2a05414ce3
31b5b8f1ed8ff7138f45905db2c4d5bc8045ab372bf
f142631610a7e0f677b7e9b0bc73adefdcee16d9d5d
284c616abeab5d8c291ce0'
]
)
图 17: CBOR 诊断表示法中的签名和加密 CWT