#include "device/fido/u2f_command_constructor.h"
#include <string>
#include <utility>
#include "base/containers/contains.h"
#include "components/apdu/apdu_command.h"
#include "device/fido/fido_constants.h"
#include "device/fido/fido_parsing_utils.h"
namespace device {
bool IsConvertibleToU2fRegisterCommand(
const CtapMakeCredentialRequest& request) { … }
bool ShouldPreferCTAP2EvenIfItNeedsAPIN(
const CtapMakeCredentialRequest& request) { … }
bool IsConvertibleToU2fSignCommand(const CtapGetAssertionRequest& request) { … }
std::optional<std::vector<uint8_t>> ConvertToU2fRegisterCommand(
const CtapMakeCredentialRequest& request) { … }
std::optional<std::vector<uint8_t>> ConvertToU2fSignCommandWithBogusChallenge(
const CtapMakeCredentialRequest& request,
base::span<const uint8_t> key_handle) { … }
std::optional<std::vector<uint8_t>> ConvertToU2fSignCommand(
const CtapGetAssertionRequest& request,
ApplicationParameterType application_parameter_type,
base::span<const uint8_t> key_handle) { … }
std::vector<uint8_t> ConstructU2fRegisterCommand(
base::span<const uint8_t, kU2fApplicationParamLength> application_parameter,
base::span<const uint8_t, kU2fChallengeParamLength> challenge_parameter,
bool is_individual_attestation) { … }
std::optional<std::vector<uint8_t>> ConstructU2fSignCommand(
base::span<const uint8_t, kU2fApplicationParamLength> application_parameter,
base::span<const uint8_t, kU2fChallengeParamLength> challenge_parameter,
base::span<const uint8_t> key_handle) { … }
std::vector<uint8_t> ConstructBogusU2fRegistrationCommand() { … }
}