FIDO2 - 获取验证器信息问题

FIDO2 - Get Authenticator Info issue

我正在开发 Android authenticator.I 配对后从 webauthn 客户端获取 {-125,0,1,4} 字节数组。当我解码这个数组时

-125 (0x83) - 信息
1 (0x01) - 数据长度
4 (0x04) - AuthenticatorGetInfo

我不确定这个数组中的 0。请告诉我这个 0 有什么意义。

对于此请求,我将以 CBOR 数据的形式发送响应。

00a60182684649444f5f325f30665532465f563202816b686d61632d73656372657403506435323965353235383533343133663304a462726bf5627570f564706c6174f469636c69656e7450696ef505190400069f01ff

我使用 Fido Status 通知以上数据如下。

for (byte[] frame : response.toFrames(mMTU)) {
    getFidoStatus().setValue(frame);
    mGattServer.notifyCharacteristicChanged(device, getFidoStatus(), true);
}

在那之后,我没有从 webauthn 客户端收到任何 request/response。我正在为每个 kKeepAliveMillis(500ms) 发送值为 PROCESSING(0x01) 的 KEEPALIVE(0x82) 命令。我的实现有什么问题吗?

请帮我继续这个。提前致谢。

本规范为您详解

https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html#ble-framing-fragmentation

CMD 为 0x83 (MSG)

DATA 的长度为 2 个字节:HLEN 字节和 LLEN 字节。

在你的例子中,DATA 的长度是 0x0001 (= 1)。数据是 0x04