Expand description
§Passkey Authenticator
This crate defines an Authenticator
type along with a basic implementation of the CTAP 2.0
specification. The Authenticator
struct is designed in such a way that storage and user
interaction are defined through traits, allowing only the parts that vary between vendors,
but keeping the specification compliant implementation regardless of vendor. This is why the
Ctap2Api
trait is sealed, to prevent external implementations.
§Why RustCrypto?
For targeting WASM, yes there are other cryptographic libraries out there that allow targeting WASM, but none of them are as easy to compile to wasm than the pure rust implementations of the RustCrypto libraries. Now this does come with limitations, so there are plans to provide a similar backing trait to “plug-in” the desired cryptography from a vendor. Work is ongoing for this.
Modules§
- extensions
- The authenticator extensions as defined in CTAP2 Defined Extensions or in WebAuthn Defined Extensions.
Structs§
- Authenticator
- A virtual authenticator with all the necessary state and information.
- Credential
IdLength - The length of credentialId that should be randomly generated during a credential creation operation.
- Store
Info - A struct that defines the capabilities of a store.
- User
Check - The result of a user validation check.
Enums§
- Discoverability
Support - Enum to define how the store handles discoverability. Note that this is does not say anything about which storage mode will be used.
Traits§
- Credential
Store - Use this on a type that enables storage and fetching of credentials
- Ctap2
Api - Methods defined as being required for a CTAP 2.0 compliant authenticator to implement.
- U2fApi
- Provides the U2F Authenticator API
- User
Validation Method - Pluggable trait for the
Authenticator
to do user interaction and verification.
Functions§
- public_
key_ der_ from_ cose_ key - Convert a Cose Key to a X.509 SubjectPublicKeyInfo formatted byte array.
Type Aliases§
- Memory
Store - In-memory store for Passkeys