I am making a mobile authenticator which supports CTAP BLE to communicate with WebAuthn.
I follow this document: https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html#ble-protocol-overview
At step 8 of 8.3.6 I receive the message like this: 0x83000700030000000000
I understand that
0x83 is MSG command
0x0007 is length of data
00030000000000 is data
When I receive such a message, I don't know what to response to WebAuthn as step 10 says "Authenticator evaluates the request and responds by sending notifications over fidoStatus characteristic."
I need help!
Thank you!
Bao at V-Key
Hi Chella,
AdvertiseSettings cfg = new AdvertiseSettings.Builder()
.setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_BALANCED)
.setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_ULTRA_LOW)
.setConnectable(true)
.build();
AdvertiseData data = new AdvertiseData.Builder()
.addServiceUuid(new ParcelUuid(DeviceInfoGattService.DEVICE_INFO_UUID))
.addServiceUuid(new ParcelUuid(FIDO2GattService.FIDO2_UUID))
.setIncludeDeviceName(true)
.addServiceData(new ParcelUuid(FIDO2GattService.FIDO2_UUID), new byte[] {(byte)192})
.build();
this line is important:
.addServiceData(new ParcelUuid(FIDO2GattService.FIDO2_UUID), new byte[] {(byte)192})Try out and let me know if any issues.
mGattServer.addService(fidoGattService);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
mGattServer.addService(deviceInfoService);