pub struct Client;Expand description
Client for communicating with FIDO2 authenticators
All methods are stateless and require an active Transport connection.
Implementations§
Source§impl Client
impl Client
Sourcepub fn make_credential(
transport: &mut Transport,
request: MakeCredentialRequest,
) -> Result<Vec<u8>>
pub fn make_credential( transport: &mut Transport, request: MakeCredentialRequest, ) -> Result<Vec<u8>>
Create a new credential (WebAuthn registration)
Uses the builder pattern for type-safe, ergonomic credential creation.
Sourcepub fn get_assertion(
transport: &mut Transport,
request: GetAssertionRequest,
) -> Result<Vec<u8>>
pub fn get_assertion( transport: &mut Transport, request: GetAssertionRequest, ) -> Result<Vec<u8>>
Get an assertion (WebAuthn authentication)
Uses the builder pattern for type-safe, ergonomic assertion retrieval.
Sourcepub fn authenticator_get_info(transport: &mut Transport) -> Result<Vec<u8>>
pub fn authenticator_get_info(transport: &mut Transport) -> Result<Vec<u8>>
Send authenticatorGetInfo command
Sourcepub fn make_credential_buf(
transport: &mut Transport,
request: MakeCredentialRequest,
response: &mut [u8],
) -> Result<usize>
pub fn make_credential_buf( transport: &mut Transport, request: MakeCredentialRequest, response: &mut [u8], ) -> Result<usize>
Create a new credential (zero-allocation variant)
The caller provides a buffer to write the response into. Returns the number of bytes written.
Sourcepub fn get_assertion_buf(
transport: &mut Transport,
request: GetAssertionRequest,
response: &mut [u8],
) -> Result<usize>
pub fn get_assertion_buf( transport: &mut Transport, request: GetAssertionRequest, response: &mut [u8], ) -> Result<usize>
Get an assertion (zero-allocation variant)
The caller provides a buffer to write the response into. Returns the number of bytes written.
Sourcepub fn authenticator_get_info_buf(
transport: &mut Transport,
response: &mut [u8],
) -> Result<usize>
pub fn authenticator_get_info_buf( transport: &mut Transport, response: &mut [u8], ) -> Result<usize>
Send authenticatorGetInfo command (zero-allocation variant)
The caller provides a buffer to write the response into. Returns the number of bytes written.
Sourcepub fn get_credentials_metadata(
transport: &mut Transport,
request: CredentialManagementRequest,
) -> Result<CredentialsMetadata>
pub fn get_credentials_metadata( transport: &mut Transport, request: CredentialManagementRequest, ) -> Result<CredentialsMetadata>
Get credentials metadata (wrapper for credential_mgmt module)
Sourcepub fn enumerate_rps_begin(
transport: &mut Transport,
request: CredentialManagementRequest,
) -> Result<RpEnumerationBeginResponse>
pub fn enumerate_rps_begin( transport: &mut Transport, request: CredentialManagementRequest, ) -> Result<RpEnumerationBeginResponse>
Begin RP enumeration (wrapper for credential_mgmt module)
Sourcepub fn enumerate_rps_get_next(transport: &mut Transport) -> Result<RpInfo>
pub fn enumerate_rps_get_next(transport: &mut Transport) -> Result<RpInfo>
Get next RP in enumeration (wrapper for credential_mgmt module)
Sourcepub fn enumerate_rps(
transport: &mut Transport,
request: CredentialManagementRequest,
) -> Result<Vec<RpInfo>>
pub fn enumerate_rps( transport: &mut Transport, request: CredentialManagementRequest, ) -> Result<Vec<RpInfo>>
Enumerate all RPs (wrapper for credential_mgmt module)
Sourcepub fn enumerate_credentials_begin(
transport: &mut Transport,
request: EnumerateCredentialsRequest,
) -> Result<CredentialEnumerationBeginResponse>
pub fn enumerate_credentials_begin( transport: &mut Transport, request: EnumerateCredentialsRequest, ) -> Result<CredentialEnumerationBeginResponse>
Begin credential enumeration (wrapper for credential_mgmt module)
Sourcepub fn enumerate_credentials_get_next(
transport: &mut Transport,
) -> Result<CredentialInfo>
pub fn enumerate_credentials_get_next( transport: &mut Transport, ) -> Result<CredentialInfo>
Get next credential (wrapper for credential_mgmt module)
Sourcepub fn enumerate_credentials(
transport: &mut Transport,
request: EnumerateCredentialsRequest,
) -> Result<Vec<CredentialInfo>>
pub fn enumerate_credentials( transport: &mut Transport, request: EnumerateCredentialsRequest, ) -> Result<Vec<CredentialInfo>>
Enumerate all credentials (wrapper for credential_mgmt module)
Sourcepub fn delete_credential(
transport: &mut Transport,
request: DeleteCredentialRequest,
) -> Result<()>
pub fn delete_credential( transport: &mut Transport, request: DeleteCredentialRequest, ) -> Result<()>
Delete a credential (wrapper for credential_mgmt module)
Sourcepub fn update_user_information(
transport: &mut Transport,
request: UpdateUserRequest,
) -> Result<()>
pub fn update_user_information( transport: &mut Transport, request: UpdateUserRequest, ) -> Result<()>
Update user information (wrapper for credential_mgmt module)
Sourcepub fn get_pin_token_for_credential_management(
transport: &mut Transport,
pin: &str,
protocol: PinProtocol,
) -> Result<PinUvAuth>
pub fn get_pin_token_for_credential_management( transport: &mut Transport, pin: &str, protocol: PinProtocol, ) -> Result<PinUvAuth>
Get a PIN/UV auth token for credential management operations
Handles the complete PIN authentication flow and returns a ready-to-use token.
Sourcepub fn get_uv_token_for_credential_management(
transport: &mut Transport,
protocol: PinProtocol,
) -> Result<PinUvAuth>
pub fn get_uv_token_for_credential_management( transport: &mut Transport, protocol: PinProtocol, ) -> Result<PinUvAuth>
Get a PIN/UV auth token using user verification (biometric/platform auth)
Attempts to get a PIN token using built-in user verification instead of PIN. Not all authenticators support this.