CINXE.COM
device/fido - chromium/src - Git at Google
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>device/fido - chromium/src - Git at Google</title><link rel="stylesheet" type="text/css" href="/+static/base.css"><link rel="stylesheet" type="text/css" href="/+static/doc.css"><link rel="stylesheet" type="text/css" href="/+static/prettify/prettify.css"><!-- default customHeadTagPart --></head><body class="Site"><header class="Site-header"><div class="Header"><a class="Header-image" href="/"><img src="//www.gstatic.com/images/branding/lockups/2x/lockup_git_color_108x24dp.png" width="108" height="24" alt="Google Git"></a><div class="Header-menu"> <a class="Header-menuItem" href="https://accounts.google.com/AccountChooser?faa=1&service=gerritcodereview&continue=https://chromium.googlesource.com/login/chromium/src/%2B/refs/tags/130.0.6723.141/device/fido">Sign in</a> </div></div></header><div class="Site-content"><div class="Container "><div class="Breadcrumbs"><a class="Breadcrumbs-crumb" href="/?format=HTML">chromium</a> / <a class="Breadcrumbs-crumb" href="/chromium/">chromium</a> / <a class="Breadcrumbs-crumb" href="/chromium/src/">src</a> / <a class="Breadcrumbs-crumb" href="/chromium/src/+/refs/tags/130.0.6723.141">refs/tags/130.0.6723.141</a> / <a class="Breadcrumbs-crumb" href="/chromium/src/+/refs/tags/130.0.6723.141/">.</a> / <a class="Breadcrumbs-crumb" href="/chromium/src/+/refs/tags/130.0.6723.141/device">device</a> / <span class="Breadcrumbs-crumb">fido</span></div><div class="TreeDetail"><div class="u-sha1 u-monospace TreeDetail-sha1">tree: 82e261d3302d52c94b4f3e2dff46523856b1bba7 [<a href="/chromium/src/+log/refs/tags/130.0.6723.141/device/fido">path history</a>] <span>[<a href="/chromium/src/+archive/refs/tags/130.0.6723.141/device/fido.tar.gz">tgz</a>]</span></div><ol class="FileList"><li class="FileList-item FileList-item--gitTree" title="Tree - aoa/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/aoa/">aoa/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - bio/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/bio/">bio/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - cable/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/cable/">cable/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - cros/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/cros/">cros/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - enclave/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/enclave/">enclave/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - hid/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/hid/">hid/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - mac/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/mac/">mac/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - response_data_fuzzer_corpus/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/response_data_fuzzer_corpus/">response_data_fuzzer_corpus/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - strings/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/strings/">strings/</a></li><li class="FileList-item FileList-item--gitTree" title="Tree - win/"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/win/">win/</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - appid_exclude_probe_task.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/appid_exclude_probe_task.cc">appid_exclude_probe_task.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - appid_exclude_probe_task.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/appid_exclude_probe_task.h">appid_exclude_probe_task.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attestation_object.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attestation_object.cc">attestation_object.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attestation_object.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attestation_object.h">attestation_object.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attestation_statement.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attestation_statement.cc">attestation_statement.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attestation_statement.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attestation_statement.h">attestation_statement.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attestation_statement_formats.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attestation_statement_formats.cc">attestation_statement_formats.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attestation_statement_formats.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attestation_statement_formats.h">attestation_statement_formats.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attestation_statement_formats_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attestation_statement_formats_unittest.cc">attestation_statement_formats_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attested_credential_data.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attested_credential_data.cc">attested_credential_data.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - attested_credential_data.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/attested_credential_data.h">attested_credential_data.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - auth_token_requester.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/auth_token_requester.cc">auth_token_requester.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - auth_token_requester.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/auth_token_requester.h">auth_token_requester.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - auth_token_requester_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/auth_token_requester_unittest.cc">auth_token_requester_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_data.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_data.cc">authenticator_data.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_data.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_data.h">authenticator_data.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_get_assertion_response.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_get_assertion_response.cc">authenticator_get_assertion_response.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_get_assertion_response.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_get_assertion_response.h">authenticator_get_assertion_response.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_get_info_response.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_get_info_response.cc">authenticator_get_info_response.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_get_info_response.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_get_info_response.h">authenticator_get_info_response.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_make_credential_response.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_make_credential_response.cc">authenticator_make_credential_response.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_make_credential_response.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_make_credential_response.h">authenticator_make_credential_response.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_selection_criteria.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_selection_criteria.cc">authenticator_selection_criteria.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_selection_criteria.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_selection_criteria.h">authenticator_selection_criteria.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_supported_options.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_supported_options.cc">authenticator_supported_options.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - authenticator_supported_options.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/authenticator_supported_options.h">authenticator_supported_options.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ble_adapter_manager.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ble_adapter_manager.cc">ble_adapter_manager.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ble_adapter_manager.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ble_adapter_manager.h">ble_adapter_manager.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ble_adapter_manager_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ble_adapter_manager_unittest.cc">ble_adapter_manager_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - BUILD.gn"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/BUILD.gn">BUILD.gn</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - cbor_extract.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/cbor_extract.cc">cbor_extract.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - cbor_extract.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/cbor_extract.h">cbor_extract.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - cbor_extract_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/cbor_extract_unittest.cc">cbor_extract_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - credential_management.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/credential_management.cc">credential_management.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - credential_management.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/credential_management.h">credential_management.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - credential_management_handler.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/credential_management_handler.cc">credential_management_handler.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - credential_management_handler.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/credential_management_handler.h">credential_management_handler.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - credential_management_handler_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/credential_management_handler_unittest.cc">credential_management_handler_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap2_device_operation.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap2_device_operation.h">ctap2_device_operation.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_authenticator_selection_request.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_authenticator_selection_request.cc">ctap_authenticator_selection_request.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_authenticator_selection_request.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_authenticator_selection_request.h">ctap_authenticator_selection_request.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_get_assertion_request.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_get_assertion_request.cc">ctap_get_assertion_request.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_get_assertion_request.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_get_assertion_request.h">ctap_get_assertion_request.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_make_credential_request.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_make_credential_request.cc">ctap_make_credential_request.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_make_credential_request.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_make_credential_request.h">ctap_make_credential_request.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_request_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_request_unittest.cc">ctap_request_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_response_fuzzer.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_response_fuzzer.cc">ctap_response_fuzzer.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ctap_response_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ctap_response_unittest.cc">ctap_response_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - DEPS"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/DEPS">DEPS</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - device_operation.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/device_operation.h">device_operation.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - device_response_converter.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/device_response_converter.cc">device_response_converter.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - device_response_converter.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/device_response_converter.h">device_response_converter.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - DIR_METADATA"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/DIR_METADATA">DIR_METADATA</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - discoverable_credential_metadata.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/discoverable_credential_metadata.cc">discoverable_credential_metadata.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - discoverable_credential_metadata.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/discoverable_credential_metadata.h">discoverable_credential_metadata.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ed25519_public_key.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ed25519_public_key.cc">ed25519_public_key.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - ed25519_public_key.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/ed25519_public_key.h">ed25519_public_key.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fake_fido_discovery.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fake_fido_discovery.cc">fake_fido_discovery.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fake_fido_discovery.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fake_fido_discovery.h">fake_fido_discovery.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fake_fido_discovery_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fake_fido_discovery_unittest.cc">fake_fido_discovery_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - features.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/features.cc">features.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - features.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/features.h">features.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_authenticator.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_authenticator.cc">fido_authenticator.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_authenticator.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_authenticator.h">fido_authenticator.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_constants.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_constants.cc">fido_constants.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_constants.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_constants.h">fido_constants.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_device.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_device.cc">fido_device.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_device.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_device.h">fido_device.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_device_authenticator.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_device_authenticator.cc">fido_device_authenticator.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_device_authenticator.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_device_authenticator.h">fido_device_authenticator.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_device_authenticator_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_device_authenticator_unittest.cc">fido_device_authenticator_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_device_discovery.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_device_discovery.cc">fido_device_discovery.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_device_discovery.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_device_discovery.h">fido_device_discovery.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_device_discovery_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_device_discovery_unittest.cc">fido_device_discovery_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_discovery_base.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_discovery_base.cc">fido_discovery_base.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_discovery_base.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_discovery_base.h">fido_discovery_base.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_discovery_factory.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_discovery_factory.cc">fido_discovery_factory.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_discovery_factory.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_discovery_factory.h">fido_discovery_factory.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_parsing_utils.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_parsing_utils.cc">fido_parsing_utils.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_parsing_utils.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_parsing_utils.h">fido_parsing_utils.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_parsing_utils_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_parsing_utils_unittest.cc">fido_parsing_utils_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_request_handler_base.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_request_handler_base.cc">fido_request_handler_base.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_request_handler_base.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_request_handler_base.h">fido_request_handler_base.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_request_handler_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_request_handler_unittest.cc">fido_request_handler_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_strings.grd"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_strings.grd">fido_strings.grd</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_task.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_task.cc">fido_task.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_task.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_task.h">fido_task.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_test_data.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_test_data.h">fido_test_data.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_transport_protocol.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_transport_protocol.cc">fido_transport_protocol.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_transport_protocol.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_transport_protocol.h">fido_transport_protocol.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - fido_types.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/fido_types.h">fido_types.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - filter.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/filter.cc">filter.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - filter.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/filter.h">filter.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - filter_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/filter_unittest.cc">filter_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - get_assertion_handler_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/get_assertion_handler_unittest.cc">get_assertion_handler_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - get_assertion_request_handler.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/get_assertion_request_handler.cc">get_assertion_request_handler.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - get_assertion_request_handler.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/get_assertion_request_handler.h">get_assertion_request_handler.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - get_assertion_task.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/get_assertion_task.cc">get_assertion_task.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - get_assertion_task.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/get_assertion_task.h">get_assertion_task.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - get_assertion_task_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/get_assertion_task_unittest.cc">get_assertion_task_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - json_request.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/json_request.cc">json_request.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - json_request.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/json_request.h">json_request.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - large_blob.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/large_blob.cc">large_blob.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - large_blob.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/large_blob.h">large_blob.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - large_blob_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/large_blob_unittest.cc">large_blob_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - make_credential_handler_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/make_credential_handler_unittest.cc">make_credential_handler_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - make_credential_request_handler.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/make_credential_request_handler.cc">make_credential_request_handler.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - make_credential_request_handler.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/make_credential_request_handler.h">make_credential_request_handler.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - make_credential_task.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/make_credential_task.cc">make_credential_task.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - make_credential_task.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/make_credential_task.h">make_credential_task.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - make_credential_task_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/make_credential_task_unittest.cc">make_credential_task_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - mock_fido_device.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/mock_fido_device.cc">mock_fido_device.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - mock_fido_device.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/mock_fido_device.h">mock_fido_device.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - mock_fido_discovery_observer.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/mock_fido_discovery_observer.cc">mock_fido_discovery_observer.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - mock_fido_discovery_observer.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/mock_fido_discovery_observer.h">mock_fido_discovery_observer.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - multiple_virtual_fido_device_factory.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/multiple_virtual_fido_device_factory.cc">multiple_virtual_fido_device_factory.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - multiple_virtual_fido_device_factory.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/multiple_virtual_fido_device_factory.h">multiple_virtual_fido_device_factory.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - network_context_factory.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/network_context_factory.h">network_context_factory.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - opaque_attestation_statement.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/opaque_attestation_statement.cc">opaque_attestation_statement.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - opaque_attestation_statement.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/opaque_attestation_statement.h">opaque_attestation_statement.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - OWNERS"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/OWNERS">OWNERS</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - p256_public_key.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/p256_public_key.cc">p256_public_key.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - p256_public_key.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/p256_public_key.h">p256_public_key.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - pin.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/pin.cc">pin.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - pin.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/pin.h">pin.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - pin_internal.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/pin_internal.cc">pin_internal.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - pin_internal.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/pin_internal.h">pin_internal.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - pin_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/pin_unittest.cc">pin_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - platform_credential_store.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/platform_credential_store.h">platform_credential_store.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - prf_input.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/prf_input.cc">prf_input.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - prf_input.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/prf_input.h">prf_input.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key.cc">public_key.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key.h">public_key.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key_credential_descriptor.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key_credential_descriptor.cc">public_key_credential_descriptor.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key_credential_descriptor.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key_credential_descriptor.h">public_key_credential_descriptor.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key_credential_params.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key_credential_params.cc">public_key_credential_params.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key_credential_params.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key_credential_params.h">public_key_credential_params.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key_credential_rp_entity.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key_credential_rp_entity.cc">public_key_credential_rp_entity.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key_credential_rp_entity.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key_credential_rp_entity.h">public_key_credential_rp_entity.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key_credential_user_entity.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key_credential_user_entity.cc">public_key_credential_user_entity.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - public_key_credential_user_entity.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/public_key_credential_user_entity.h">public_key_credential_user_entity.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - README.md"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/README.md">README.md</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - reset_request_handler.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/reset_request_handler.cc">reset_request_handler.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - reset_request_handler.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/reset_request_handler.h">reset_request_handler.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - rsa_public_key.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/rsa_public_key.cc">rsa_public_key.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - rsa_public_key.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/rsa_public_key.h">rsa_public_key.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - set_pin_request_handler.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/set_pin_request_handler.cc">set_pin_request_handler.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - set_pin_request_handler.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/set_pin_request_handler.h">set_pin_request_handler.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_command_constructor.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_command_constructor.cc">u2f_command_constructor.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_command_constructor.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_command_constructor.h">u2f_command_constructor.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_command_constructor_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_command_constructor_unittest.cc">u2f_command_constructor_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_register_operation.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_register_operation.cc">u2f_register_operation.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_register_operation.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_register_operation.h">u2f_register_operation.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_register_operation_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_register_operation_unittest.cc">u2f_register_operation_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_sign_operation.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_sign_operation.cc">u2f_sign_operation.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_sign_operation.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_sign_operation.h">u2f_sign_operation.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - u2f_sign_operation_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/u2f_sign_operation_unittest.cc">u2f_sign_operation_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_ctap2_device.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_ctap2_device.cc">virtual_ctap2_device.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_ctap2_device.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_ctap2_device.h">virtual_ctap2_device.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_ctap2_device_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_ctap2_device_unittest.cc">virtual_ctap2_device_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device.cc">virtual_fido_device.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device.h">virtual_fido_device.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device_authenticator.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device_authenticator.cc">virtual_fido_device_authenticator.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device_authenticator.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device_authenticator.h">virtual_fido_device_authenticator.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device_authenticator_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device_authenticator_unittest.cc">virtual_fido_device_authenticator_unittest.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device_discovery.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device_discovery.cc">virtual_fido_device_discovery.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device_discovery.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device_discovery.h">virtual_fido_device_discovery.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device_factory.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device_factory.cc">virtual_fido_device_factory.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_fido_device_factory.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_fido_device_factory.h">virtual_fido_device_factory.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_u2f_device.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_u2f_device.cc">virtual_u2f_device.cc</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_u2f_device.h"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_u2f_device.h">virtual_u2f_device.h</a></li><li class="FileList-item FileList-item--regularFile" title="Regular file - virtual_u2f_device_unittest.cc"><a class="FileList-itemLink" href="/chromium/src/+/refs/tags/130.0.6723.141/device/fido/virtual_u2f_device_unittest.cc">virtual_u2f_device_unittest.cc</a></li></ol><div class="InlineReadme"><div class="InlineReadme-path">device/fido/README.md</div><div class="doc"><h1><a class="h" name="Security-Keys" href="#Security-Keys"><span></span></a><a class="h" name="security-keys" href="#security-keys"><span></span></a>Security Keys</h1><p>Security keys are physical devices that often connect via USB and have a button. They can generate public keys and sign with them to authenticate a user and are most often used as a second factor for security.</p><p>Websites interact with them via the <a href="https://www.w3.org/TR/webauthn/">W3C Webauthn API</a>, part of <a href="https://www.w3.org/TR/credential-management-1/">CredMan</a>.</p><p>Several different types of security keys are supported. Older security keys implement the <a href="https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-raw-message-formats-v1.2-ps-20170411.html">U2F protocol</a> while more modern ones implement <a href="https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html">CTAP2</a>. These devices can work over USB, Bluetooth Low Energy (BLE), or NFC (not supported). Additionally Chromium contains support for using Touch ID on macOS as a security key as well support for forwarding requests to the native libraries on modern versions of Windows.</p><h2><a class="h" name="Life-of-a-request" href="#Life-of-a-request"><span></span></a><a class="h" name="life-of-a-request" href="#life-of-a-request"><span></span></a>Life of a request</h2><p>This section provides a coarse roadmap for understanding the code involved in security key support by highlighting the path that a login request might take.</p><p>Firstly, the CredMan <code class="code">get</code> call ends up in <a href="https://cs.chromium.org/search/?q=symbol:CredentialsContainer::get+exact:yes&det=matsel&sq=package:chromium&type=cs"><code class="code">CredentialsContainer::get</code></a>. CredMan supports several types of credentials but the code dealing with <code class="code">publicKey</code> relates to security key support.</p><p>The request is packaged into a Mojo call defined in <a href="/chromium/src/+/refs/tags/130.0.6723.141/third_party/blink/public/mojom/webauthn/authenticator.mojom">authenticator.mojom</a>. On Android, that Mojo request is handled by Android-specific code and is forwarded to support libraries in Google Play Services. Otherwise the Mojo interface will be bound to <a href="/chromium/src/+/refs/tags/130.0.6723.141/content/public/browser/authenticator_common.h"><code class="code">AuthenticatorCommon</code></a>; specifically it'll call <a href="https://cs.chromium.org/search/?q=symbol:AuthenticatorCommon::GetAssertion+exact:yes&sq=package:chromium"><code class="code">AuthenticatorCommon::GetAssertion</code></a>.</p><p>AuthenticatorCommon is part of Chromium‘s <a href="https://www.chromium.org/developers/content-module">content layer</a> and so <a href="https://cs.chromium.org/search/?q=symbol:GetWebAuthenticationRequestDelegate+exact:yes&sq=package:chromium">calls into the embedder</a> to get a <a href="https://cs.chromium.org/search/?q=symbol:AuthenticatorRequestClientDelegate+exact:yes">delegate object</a> that allows it to perform actions like showing UI. It also triggers the lower-level code to start the process of finding an authenticator to handle the request. For an assertion request it’ll create a <a href="https://cs.chromium.org/search/?q=symbol:GetAssertionRequestHandler+exact:yes"><code class="code">GetAssertionRequestHandler</code></a> from this directory.</p><p>The <code class="code">Handler</code> classes manage a specific user action and their first job is to <a href="https://cs.chromium.org/search/?q=symbol:FidoRequestHandlerBase::InitDiscoveries+exact:yes">initiate discovery</a> of possible security keys. The discovery process will find candidate USB, BLE, Touch ID, etc devices, each of which will be fed into <a href="https://cs.chromium.org/search/?q=symbol:GetAssertionRequestHandler::DispatchRequest+exact:yes"><code class="code">DispatchRequest</code></a>. Different actions may be taken depending on features of the discovered authenticator. For example, an authenticator which cannot handle the request may be asked to wait for a touch so that the user can still select it, even though it'll cause the request to fail. These per-authenticator operations will be dispatched via the abstract <a href="https://cs.chromium.org/search/?q=symbol:FidoAuthenticator+exact:yes"><code class="code">FidoAuthenticator</code></a> interface.</p><p>If a per-authenticator operation is complex and requires several steps it will be handled by a “task”. In this example, a <a href="https://cs.chromium.org/search/?q=symbol:device::GetAssertionTask+exact:yes"><code class="code">GetAssertionTask</code></a> will likely be created by a <a href="https://cs.chromium.org/search/?q=symbol:device::FidoDeviceAuthenticator+exact:yes"><code class="code">FidoDeviceAuthenticator</code></a>, the implementation of <code class="code">FidoAuthenticator</code> used by physical devices.</p><p>The assertion task knows how to sequence a series of U2F or CTAP2 operations to implement an assertion request. In the case of U2F, there will be another layer of state machines in, e.g., <a href="https://cs.chromium.org/search/?q=symbol:device::U2FSignOperation+exact:yes"><code class="code">U2fSignOperation</code></a> because U2F has a historical authenticator model.</p><p>If interaction with UI is required, for example to prompt for a PIN, the handler will make calls via the <a href="https://cs.chromium.org/search/?q=symbol:device::FidoRequestHandlerBase::Observer+exact:yes"><code class="code">Observer</code></a> interface, which is implemented by the embedder's UI objects that were created by <code class="code">AuthenticatorCommon</code>.</p><h2><a class="h" name="Settings" href="#Settings"><span></span></a><a class="h" name="settings" href="#settings"><span></span></a>Settings</h2><p>It's also possible for security key operations to be triggered by actions in the Settings UI: there are several security key actions that can be taken on <code class="code">chrome://settings/securityKeys</code>. In this case, calls from the Javascript that implements the Settings UI end up in <a href="https://cs.chromium.org/search/?q=symbol:settings::SecurityKeysHandler+exact:yes"><code class="code">SecurityKeysHandler</code></a>, which then operates in the same way as <code class="code">AuthenticatorCommon</code>, albeit without creating any native UI.</p><h2><a class="h" name="Fuzzers" href="#Fuzzers"><span></span></a><a class="h" name="fuzzers" href="#fuzzers"><span></span></a>Fuzzers</h2><p><a href="/chromium/src/+/refs/tags/130.0.6723.141/testing/libfuzzer/README.md">libFuzzer</a> tests are in <code class="code">*_fuzzer.cc</code> files. They test for bad input from devices, e.g. when parsing responses to register or sign operations.</p></div></div></div></div> <!-- Container --></div> <!-- Site-content --><footer class="Site-footer"><div class="Footer"><span class="Footer-poweredBy">Powered by <a href="https://gerrit.googlesource.com/gitiles/">Gitiles</a>| <a href="https://policies.google.com/privacy">Privacy</a>| <a href="https://policies.google.com/terms">Terms</a></span><span class="Footer-formats"><a class="u-monospace Footer-formatsItem" href="?format=TEXT">txt</a> <a class="u-monospace Footer-formatsItem" href="?format=JSON">json</a></span></div></footer></body></html>