#u2f #fido #2fa #authentication-encryption

u2

A Rust Authentication Library for U2F and FIDO2 on the web. A fork of the u2f crate.

14 releases

Uses new Rust 2024

0.1.13 Aug 31, 2025
0.1.12 Aug 27, 2025

#1270 in Authentication

Download history 1/week @ 2025-09-16 2/week @ 2025-10-14

734 downloads per month

MIT/Apache

160KB
503 lines

u2: a Rust Authentication Library for U2F and FIDO2 on the web  

MIT licensed Apache-2.0 licensed

An USAF U-2 Side View While Flying

⚠️ CODE BARELY COMPILES

⚠️ CODE IS NOT TESTED

⚠️ DO NOT USE (YET)

⚠️ CURRENTLY UNLIKELY TO WITHSTAND Y2Q

Forked from the u2f crate, which (as of this writing) has not been updated in years.

This is still a work in progress as I journey through the existing code and adapt it to use up-to-date dependencies, compile, test, and fit my style. I also have the ambition to not just cover U2F, but also the FIDO2 spec, but we'll see how that goes. ;)

Usage

[DO NOT USE...yet]

Contributing

All constructive contributions are welcome!! Please raise an issue or make a pull request on GitHub.

Please note that by contributing, you agree that your contribution(s) may be integrated into this project and dual-licensed in the same way which the overall project is. See LICENSE for more information.

Goals

Here are some of the biggest challenges:

[ ] Audit the u2::util::asn_length() function, as it may or may not be doing its job correctly.

[ ] Get this crate aligned with the U2F and FIDO2 standards such that a web dev could use this crate and accept both U2F- and FIDO2-compatible authentication from users (https://www.w3.org/TR/webauthn/).

Dependencies

~9.5MB
~183K SLoC