An implementation of WebAuthn in OCaml
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Reynir Björnsson ec499c2e68 Add version constraint on Dream 7 days ago
bin Error: Authenticator has already been registered 1 week ago
cbor works as initial version 3 weeks ago
flash_message WIP 3 weeks ago
src support U2F transport extension extraction from certificate 2 weeks ago works as initial version 3 weeks ago works as initial version 3 weeks ago documentation 2 weeks ago
dune-project dune-project: disable formatting 2 weeks ago
webauthn.opam Add version constraint on Dream 7 days ago

WebAuthn - authenticating users to services using public key cryptography

WebAuthn is a web standard published by the W3C. Its goal is to standardize an interfacefor authenticating users to web-based applications and services using public key cryptography. Modern web browsers support WebAuthn functionality.

WebAuthn provides two funcitons: register and authenticate. Usually the public and private keypair is stored on an external token (Yuikey etc.) or part of the platform (TPM). After the public key is registered, it can be used to authenticate to the same service.

This module does not preserve a database of registered public keys, their credential ID, usernames and pending challenges - instead this data must be stored by a client of this API in a database or other persistent storage.

WebAuthn specification at W3C

A basic demonstration server is provided (bin/webauthn_demo), running at


API documentation is available online.


opam install webauthn will install this library.