【发布时间】:2023-02-01 01:17:21
【问题描述】:
我刚开始在本地主机上玩WebAuthn。我被告知在credentials.response.signature 中找到的签名值正在签名credentials.response.clientDataJSON。但是,对于 navigator.credentials.get 的相同输入/挑战,我似乎得到了不同的签名。我最好的猜测是有一个时间戳或计数器进入签名的值?
我似乎无法解码 signature 或 authenticatorData,这真的可以帮助我想象里面发生了什么。我能够解码 clientDataJSON 如下,任何人都有示例代码,我用它来解码其他两个上述参数?
String.fromCharCode.apply(null, new Uint8Array(credentials.response.clientDataJSON))
我还发现在解码 clientDataJSON 时,我偶尔会收到 extra field in Chrome,这对我的用例来说有点烦人。
我的目标是让用户每次验证相同的PublicKeyCredential时都产生相同的签名或散列。.有没有办法做到这一点?或者在 WebAuthn 的范围内或在其范围之外是否有其他方法可以从生物识别身份验证中受益,我可以使用这些方法从相同的输入中生成相同的签名或哈希值?
请原谅我对WebAuthn 的任何误解,我对这项神奇的技术还很陌生。我完全理解这不是 WebAuthn 的最初预期用途,因此可能需要一个糟糕的解决方法。
【问题讨论】:
标签: javascript authentication encryption webauthn