Я разрабатываю аутентификатор Android. Я получаю {-125,0,1,4} байтовый массив от клиента webauthn после сопряжения. Когда я декодирую этот массив
-125 (0x83) - MSG
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. Я отправляю команду KEEPALIVE (0x82) со значением PROCESSING (0x01) для каждого kKeepAliveMillis (500 мс). Есть ли проблемы с моей реализацией?
Пожалуйста, помогите мне продолжить это. Заранее спасибо.