跳到主要内容

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