//device/fido
contains abstractions for FIDO
security keys across multiple platforms.
Support for U2F (FIDO
1.2)
security keys is present for both USB Human Interface Devices (USB HID) and
Bluetooth Low Energy (BLE) devices. Clients can perform U2F operations using the
U2fRegister
and U2fSign
classes. These
abstractions automatically perform device discovery and handle communication
with the underlying devices. Talking to HID devices is done using the HID Mojo
service, while communication with
BLE devices is done using abstractions found in
//device/bluetooth
. HID is supported on all desktop
platforms, while BLE lacks some support on Windows (see
//device/bluetooth/README.md
for details).
Support for CTAP2 (FIDO 2.0) security keys is in active development and aims to unify the implementations for both U2F and CTAP keys.
Standard use of *_unittest.cc
files for must code coverage. Files prefixed
with mock_
provide GoogleMock based fake objects for easy mocking of
dependencies during testing.
libFuzzer tests are in *_fuzzer.cc
files. They test for bad input from
devices, e.g. when parsing responses to register or sign operations.