MAKE CREDENTIAL запрос получен частично - PullRequest
1 голос
/ 04 июля 2019

Я могу отправить GET_INFO на webauthn.io. После этого я могу частично прочитать запрос MAKE_CREDENTIAL. Общая длина данных MAKE_CREDENTIAL составляет 400+. Но я получаю только 90+ байтов. Я не получаю полный запрос на MAKE_CREDENTIAL.

Я получил запрос

[- 125, 1, 95 , 1, -91, 1, 88, 32, 75, 1, 9, -33, -61, -39, 69, -54, -3 , 113, -4, -77, 29, 83, 121, 14, -83, -123, 70, -121, -15, -106, -17, 121, 107, -118, -7, 32, - 44, -74, 71, 20, 2, -94, 98, 105, 100, 107, 119, 101, 98, 97, 117, 116, 104, 110, 46, 105, 111, 100, 110, 97, 109, 101, 107, 119, 101, 98, 97, 117, 116, 104, 110, 46, 105, 111, 3, -93, 98, 105, 100, 74, -44, -98, 1, 0 , 0, 0, 0, 0, 0, 0, 100, 110, 97, 109, 101, 100, 117, 115, 101]

Согласно данным длины, общее количество байтов должно быть 405. Но я получаю только 94 байта. Я отлаживал и анализировал код, я не мог понять проблему.

Пожалуйста, помогите мне продолжить. Заранее спасибо.

1 Ответ

2 голосов
/ 04 июля 2019

Пожалуйста, проверьте это spec

Когда WebAuthn читает характеристику длины контрольной точки, вы должны вернуть MTU - 3 байта. Позже, когда WebAuthn захочет отправить данные в аутентификатор, WebAuthn рассмотрит возможность разделения данных на множество кусков, длина которых будет равна или меньше MTU - 1. Полученный вами кадр - это только первый кадр. После этого будет еще много фреймов, вы должны справиться с этим.

Примечание:

3 в MTU - 3 байта: байт MSG, байт HLEN, байт LLEN

1 в MTU - 1 - серийный номер каждого пакета

...