Implements the Universial Second Factor protocol as specified by the FIDO Alliance. Only tested with devices from Yubico.
The library supports three operations:
Generates a random 32 bytes challenge that is base64url encoded.
Handles the registration response from the client. If successful it returns the public key and the key handle, otherwise it will raise an exception.
Handles the signature response from the client. If successful it returns the new counter value, otherwise it will raise an exception.
$ make compile