2

ペアリング後に webauthn クライアントから {-125,0,1,4} バイト配列を取得しています。この配列をデコードすると

-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 クライアントからの要求/応答が得られません。kKeepAliveMillis(500ms)ごとに値PROCESSING(0x01)を指定してKEEPALIVE(0x82)コマンドを送信しています。実装に問題はありますか?

これを進めるのを手伝ってください。前もって感謝します。

4

1 に答える 1

3

この仕様はあなたのために完全に説明します

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 の長さは、HLEN バイトと LLEN バイトの 2 バイトです。

あなたの場合、DATA の長さは 0x0001 (= 1) です。データは0x04です

于 2019-06-25T09:23:25.170 に答える