WebAuthn-“凭证公共密钥”的字节长度

时间:2019-01-04 20:52:44

标签: byte public-key cbor webauthn

在WebAuthn中,验证者数据包含可变长度attested credential data,后跟extensions(如果有): Authenticator data schema from the WebAuthn specification

由于attested credential data字段是CBOR映射,因此credential public key成为变量。

在有扩展名的情况下,如何预先知道该字段的字节长度,以便我可以将该扩展名没有截断的字段传递给CBOR库?

我正在使用的CBOR库似乎无法处理额外的字节,而且我对CBOR的了解还不足以知道是否有一个技巧可以从其第一个字节(或其他任何技巧)计算映射的字节长度

1 个答案:

答案 0 :(得分:0)

据我了解,如果没有先使用支持“额外字节”的CBOR解码器(或COSE密钥解析器)来确定“凭据公钥数据”在哪里,就无法事先知道结束,“扩展数据”开始。

Editors Draft(候选推荐书中尚未提供)对此进行了详细讨论。

  

确定经验证的凭证数据的长度,该长度是可变的,   涉及确定给定credentialPublicKey的开始位置   前面的credentialId的长度,然后确定   credentialPublicKey的长度(另请参见[RFC8152]的第7节)。

FWIW,也在WebAuthn规范的GitHub问题中进行了讨论,https://github.com/w3c/webauthn/issues/1012