webauthn-rs-core

Crates.iowebauthn-rs-core
lib.rswebauthn-rs-core
version0.5.0
sourcesrc
created_at2022-07-08 00:26:48.169275
updated_at2024-04-28 04:02:19.517444
descriptionWebauthn Cryptographic Operation Handling
homepage
repositoryhttps://github.com/kanidm/webauthn-rs
max_upload_size
id621547
size462,322
micolous (micolous)

documentation

README

Webauthn Rust Core

Webauthn is a modern approach to hardware based authentication, consisting of a user with an authenticator device, a browser or client that interacts with the device, and a server that is able to generate challenges and verify the authenticator's validity.

⚠️ WARNING ⚠️

This library implements and exposes the raw elements to create a Webauthn Relying Party. Many of these components have many sharp edges and the ability to confuse users, accidentally allow security bypasses, and more. If possible you SHOULD use Webauthn-RS instead of this crate!

However, if you want to do something truly custom or specific, and you understand the risks, then this library is for you.

Why OpenSSL?

A question I expect is why OpenSSL rather than some other pure-Rust cryptographic providers. There are two major justfications.

The first is that if this library will be used in corporate or major deployments, then cryptographic audits may have to be performed. It is much easier to point toward OpenSSL which has already undergone much more review and auditing than using a series of Rust crates which (while still great!) have not seen the same level of scrutiny.

The second is that OpenSSL is the only library I have found that allows us to reconstruct an EC public key from its X/Y points or an RSA public key from its n/e for use with signature verification. Without this, we are not able to parse authenticator credentials to perform authentication.

Resources

Commit count: 364

cargo fmt