FIDO2-获取身份验证器信息问题

时间:2019-06-20 11:11:30

标签: android bluetooth-lowenergy android-authenticator webauthn fido

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

-125(0x83)-味精
1(0x01)-数据长度
4(0x04)-AuthenticatorGetInfo

我不确定此数组中是否为0。请告诉我该0是否有任何意义。

对于此请求,我将响应作为CBOR数据发送。

00a60182684649444f5f325f30665532465f563202816b686d61632d73656657657403506435323965353235383533343133663663a462726bf5627570f564706c6174f469636c69656e7450696ef505190400069f01ff

我将通过以下方式使用Fido Status通知上述数据。

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

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

请帮助我进行此操作。预先感谢。

1 个答案:

答案 0 :(得分:3)

此规范为您全面说明

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

enter image description here

CMD为0x83(MSG)

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

在您的情况下,DATA的长度为0x0001(= 1)。数据为0x04