soft_fido2_ctap/
lib.rs

1//! Pure Rust CTAP (Client to Authenticator Protocol) implementation
2//!
3//! This crate provides the CTAP 2.0/2.1 protocol logic for FIDO2 authenticators.
4//!
5//! Implements the FIDO2 specification:
6//! <https://fidoalliance.org/specs/fido-v2.2-rd-20230321/fido-client-to-authenticator-protocol-v2.2-rd-20230321.html>
7
8#![cfg_attr(not(feature = "std"), no_std)]
9
10extern crate alloc;
11
12pub mod authenticator;
13#[cfg(feature = "transport")]
14pub mod bridge;
15pub mod callbacks;
16pub mod cbor;
17pub mod commands;
18pub mod dispatcher;
19pub mod extensions;
20pub mod pin_token;
21pub mod sec_bytes;
22pub mod status;
23pub mod types;
24
25// Re-export commonly used types
26pub use authenticator::{Authenticator, AuthenticatorConfig};
27#[cfg(feature = "transport")]
28pub use bridge::TransportBridge;
29pub use callbacks::{
30    AuthenticatorCallbacks, CredentialStorageCallbacks, PinStorageCallbacks, UpResult,
31    UserInteractionCallbacks, UvResult,
32};
33pub use dispatcher::CommandDispatcher;
34pub use pin_token::{Permission, PinToken, PinTokenManager};
35pub use sec_bytes::{SecBytes, SecPinHash};
36pub use status::{Result, StatusCode};
37pub use types::{
38    CoseAlgorithm, CredProtect, Credential, PinState, PublicKeyCredentialDescriptor,
39    PublicKeyCredentialParameters, RelyingParty, User,
40};