A set of helper functions and data sets for testing FIDO 2.0, WebAuthn, and CTAP.
Installation
node.js
npm install fido2-helpers
html
Usage
fido2-helpers.js
is a Universal Module Definition (UMD) that should work under browser and node. It has been used extensively with node projects such as fido2-lib and webauthn-simple-app.
The UMD returns a structure that looks like:
functions:printHexarrayBufferEqualshex2abstr2abb64decodeb64encodeab2strbufEqualabEqualcloneObjectcoerceToArrayBufferserver:creationOptionsRequestbasicCreationOptionscompleteCreationOptionsgetOptionsRequestchallengeResponseAttestationNoneMsgB64UrlchallengeResponseAttestationU2fMsgB64UrlchallengeResponseAttestationU2fHypersecuB64UrlMsgchallengeResponseAttestationPackedB64UrlMsgchallengeResponseAttestationTpmB64UrlMsgbasicGetOptionscompleteGetOptionsassertionResponseMsgB64UrlsuccessServerResponseerrorServerResponselib:makeCredentialAttestationNoneResponsemakeCredentialAttestationU2fResponsemakeCredentialAttestationHypersecuU2fResponsemakeCredentialAttestationPackedResponsemakeCredentialAttestationTpmResponseassertionResponseassertionResponseWindowsHelloassnPublicKeyassnPublicKeyWindowsHellocerts:yubiKeyAttestationyubicoRootfeitianFido2tpmAttestationmds:mds1TocJwtmds2TocJwtmds2EntrymdsRootCertmdsRootCrlca1CrlmdsIntermediateCertmdsSigningCert
Here is a quick description of each section:
- functions: helper functions that may be useful in transforming, checking, or printing values for testing
- server: raw messages that are sent to or from the server in JSON format with base64url encoding
- lib: mostly the same messages as server, but have been decoded into ArrayBuffers where applicable
- certs: useful x.509 certificates for testing ASN.1 parsing and x.509 functionality
- mds: example messages and certificates for the FIDO Metadata Service (MDS)