My experiments implementing the FIDO second factor specifications in C#.
Multiple libraries exists for the client-to-server communication parts but there is no good library to communicate with keys connected locally via USB.
Port of the Google Reference code has initially be done using Sharpen + Sharpen.Runtime.
While the code implements USB communications directly via Win32 APIs for now, I might also experiment with :
- HID API (GitHub) to get some cross-platform compatibility.
- Windows.Devices.HumanInterfaceDevice to get Windows 10 support. (Also to steal their nice API)
Other FIDO U2F Projects in .Net :
- FIDO U2F.Net MIT, Client only
- AspNetIdentity_U2F Apache License, Full port of the official Google code
In other languages :
This repository is my playground, nothing is stable and it isn't intended to be. I'm just playing with low level APIs.