All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Suppress several warnings with Elixir 1.17 & OTP 27
- [Wax] Use system time instead of monotonic time for timeout handling (#38)
- [Wax.Metadata] Relax CRL check requirements (#36)
- [Wax.AttestationStatementFormat.AndroidSafetynet] Fix erroneous alg check
- [Wax.AuthenticatorData] Added
flag_backup_eligible
andflag_credential_backed_up
flags
- [Wax] External ASN1 compiler is used (through a new dependency) that should fix issue when compiling Wax for the first time
- [Wax]
Wax.new_authentication_challenge/1
signature change to support resident keys - [Wax]
Wax.authenticate/6
signature change to support resident keys
- [Wax] Requires OTP25+
- [Wax] Supports Apple Anonymous attestation
- [Wax] Returns metadata as a map conforming with FIDO Metadata Statement, and no longer Elixir structs
- [Wax] All returned errors are exceptions
- [Wax.Metadata] Wax now loads MDSv3 metadata, and no longer requires an access token
- [Wax.Metadata] The
tesla
library is no longer used
- [Wax.Metadata] Update root certificate for TOC integrity checking following FIDO MDSv2 switch to public PKI infrastructure
- [Wax.Metadata] Metadata retrieval now makes use of the Tesla library. Beware, Tesla's
default adapter is insecure (
:https
), so you need to configure a secure adapter, such as Hackney, if you use MDSv2 metadata.
- [Wax.Metadata.Statement] Added newly added user verification methods and attachment hints.
User verification method names have been updated to reflect the latest specification. See
t:Wax.Metadata.Statement.user_verification_method/0
type for new values.
- [Wax] Renamed application to
:wax_
due to a name collision. Do not forget to rename any:wax
entry in your configuration files - [Wax] secp256k1's COSE alg value set to new standardized value
- [Wax.AttestationStatementFormat.TPM] Commented TPM manufacturer ID used only for testing with the FIDO2 test suite
- [Wax] When verifying trust root,
Wax.register/3
checks the authenticator status against the values whitelisted by the:acceptable_authenticator_statuses
option - [Wax.CoseKey] Added support for PS256, PS384, PS512, EdDSA signature schemes and ES256K (secp256k1 curve) signature algorithms
- [Wax.Challenge] Added timeout field and verification
- [Wax] Added
:android_key_allow_software_enforcement
option - [Wax.Metadata] FIDO2 metadata TOC checked against CRLs (#12)
- [Wax] Added a mean to load metadata from a directory
- [Wax] Added
:silent_authentication_enabled
option
- [Wax]
Wax.register/3
andWax.authenticate/5
signatures change and now return the whole authenticator data. - [Wax] the
:user_verified_required
option is replace by the:user_verification
option
- [Wax.Metadata] TOC JWS signature is verified against FIDO Fundation certificate