WebAuthn - "credential public key" 的字节长度
WebAuthn - byte length of the "credential public key"
在 WebAuthn 中,身份验证器数据包含可变长度 attested credential data
,后跟 extensions
,如果有的话:
由于 credential public key
字段是 CBOR 映射,因此 attested credential data
可变。
如果有扩展,如何提前知道这个字段的字节长度,以便我可以将这个字段截断而不传递给 CBOR 库?
我正在使用的 CBOR 库似乎无法处理额外的字节,而且我对 CBOR 的了解还不足以知道是否有技巧可以从映射的第一个字节(或任何其他字节)计算其字节长度把戏)。
据我了解,如果不首先使用支持 "extra bytes" 的 CBOR 解码器(或 COSE 密钥解析器),无法提前知道,以确定"credential public key data" 结束,"extension data" 开始。
中有一个额外的注释对此进行了讨论
Determining attested credential data's length, which is variable,
involves determining credentialPublicKey’s beginning location given
the preceding credentialId’s length, and then determining the
credentialPublicKey’s length (see also Section 7 of [RFC8152]).
FWIW,在 WebAuthn 规范的 GitHub 问题中也有讨论 https://github.com/w3c/webauthn/issues/1012
在 WebAuthn 中,身份验证器数据包含可变长度 attested credential data
,后跟 extensions
,如果有的话:
由于 credential public key
字段是 CBOR 映射,因此 attested credential data
可变。
如果有扩展,如何提前知道这个字段的字节长度,以便我可以将这个字段截断而不传递给 CBOR 库?
我正在使用的 CBOR 库似乎无法处理额外的字节,而且我对 CBOR 的了解还不足以知道是否有技巧可以从映射的第一个字节(或任何其他字节)计算其字节长度把戏)。
据我了解,如果不首先使用支持 "extra bytes" 的 CBOR 解码器(或 COSE 密钥解析器),无法提前知道,以确定"credential public key data" 结束,"extension data" 开始。
中有一个额外的注释对此进行了讨论Determining attested credential data's length, which is variable, involves determining credentialPublicKey’s beginning location given the preceding credentialId’s length, and then determining the credentialPublicKey’s length (see also Section 7 of [RFC8152]).
FWIW,在 WebAuthn 规范的 GitHub 问题中也有讨论 https://github.com/w3c/webauthn/issues/1012