Skip to main content

Crate soft_fido2_crypto

Crate soft_fido2_crypto 

Source
Expand description

Pure Rust cryptographic primitives for FIDO2/CTAP

This crate provides the cryptographic operations required by the CTAP protocol:

  • ECDH: P-256 key agreement for PIN protocol
  • ECDSA: ES256 signatures for attestation and assertions
  • EdDSA: Ed25519 signatures for attestation and assertions
  • PIN Protocols: V1 (AES-256-CBC + HMAC) and V2 (HMAC-only)
  • HMAC-SHA256: For hmac-secret extension

All implementations follow the FIDO2 specification: https://fidoalliance.org/specs/fido-v2.2-rd-20230321/fido-client-to-authenticator-protocol-v2.2-rd-20230321.html

Re-exports§

pub use error::CryptoError;
pub use error::Result;

Modules§

ecdh
P-256 ECDH for CTAP PIN protocol key agreement
ecdsa
P-256 ECDSA (ES256) signatures for CTAP attestation and assertions
eddsa
Ed25519 (EdDSA) signatures for CTAP assertions
error
Error types for cryptographic operations
pin_protocol
PIN/UV authentication protocols (V1 and V2)

Structs§

Zeroizing
Zeroizing is a a wrapper for any Z: Zeroize type which implements a Drop handler which zeroizes dropped values.

Functions§

hmac_sha256
Compute HMAC-SHA-256