webauthn-0.5.0.1: Relying party (server) implementation of the WebAuthn 2 specification
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Crypto.WebAuthn.AttestationStatementFormat.AndroidKey

Description

This module implements the Android Key Attestation Statement Format.

Synopsis

Documentation

format :: SomeAttestationStatementFormat Source #

The default Android Key format configuration. Requires the attestation to be backed by a Trusted Executing Environment (TEE).

data TrustLevel Source #

The required Trust level for Android Key attestation.

Constructors

SoftwareEnforced

Trust has to be ensured on the software level. This is weaker than TEE enforced trust.

TeeEnforced

Hardware backed attestation, this requires that the Trusted Executing Environment enforced the attestation.

data VerificationError Source #

Verification errors specific to Android Key attestation

Constructors

PublicKeyMismatch

The public key in the certificate is different from the on in the attested credential data

Fields

HashMismatch

The challenge field of the certificate extension does not match the clientDataHash (first: challenge from certificate extension, second: clientDataHash)

Fields

AndroidKeyAllApplicationsFieldFound

The "attestation" extension is scoped to all applications instead of just the RpId

AndroidKeyOriginFieldInvalid

The origin field(s) were not equal to KM_ORIGIN_GENERATED (0) (first: tee-enforced origin, second: software-enforced origin (if allowed by the specified Format))

Fields

AndroidKeyPurposeFieldInvalid

The purpose field(s) were not equal to the singleton set containing KM_PURPOSE_SIGN (2) (first: tee-enforced purpose, second: software-enforced purpose (if allowed by the specified Format))

Fields

VerificationFailure Text

The Public key cannot verify the signature over the authenticatorData and the clientDataHash.