ctap_fido2/lib.rs
1//! `ctap-fido2` is a CTAP2 client for FIDO2 `hmac-secret` over USB HID.
2//!
3//! Typically, one might want to use the following:
4//! - [`device::list_devices`] to enumerate eligible authenticators.
5//! - [`device::DeviceInfo`] for the descriptor of each.
6//! - [`cmd::Authenticator::open`] to acquire an open handle.
7//! - [`cmd::Authenticator::make_credential`] and
8//! [`cmd::Authenticator::get_hmac_secret`] for the headline operations.
9//! - [`error::Error`] / [`error::Result`] / [`error::CtapStatus`] for the typed
10//! error tree.
11//!
12//! The following modules are also exposed:
13//! - [`cose`] — [`CredentialPublicKey`](`cose::CredentialPublicKey`) and
14//! signature verification.
15//! - [`hid`] — [`Transport`](`hid::Transport`) for raw CTAPHID frames and
16//! [`hid::Transport::vendor_command`] for vendor-specific probes.
17//! - [`pin`] — [`PinSession`](`pin::PinSession`) /
18//! [`PinToken`](`pin::PinToken`) for callers building their own PIN-protected
19//! commands on top of [`hid::Transport`].
20//! - [`cbor`] — CBOR helpers used by the command parsers.
21
22pub mod cbor;
23pub mod cmd;
24pub mod cose;
25pub mod device;
26pub mod error;
27pub mod hid;
28pub mod pin;