invoke

operator fun invoke(configuration: SupremeConfiguration, nonceGenerator: NonceGenerator = WardenDefaults.nonceGenerator, challengeValidator: (Clock, Duration) -> ChallengeValidator = { clock, verificationTimeOffset -> InMemoryChallengeCache(clock, verificationTimeOffset) }): AttestationVerifier(source)

Configures and initializes an AttestationVerifier using the provided configuration, nonce generator, and challenge verifier.

Note that the nonce validity will always be the longest validity duration over SupremeConfiguration.android and SupremeConfiguration.ios. If only an Android configuration without a nonce validity duration is provided, this will default to IosAttestationConfiguration.DEFAULT_VALIDITY_SECONDS.

Return

An instance of AttestationVerifier configured with the provided parameters.

Parameters

configuration

The SupremeConfiguration object containing Android and/or iOS attestation configurations, attestation proof OID, generic device name OID, default key constraints, and verification time offset.

nonceGenerator

A NonceGenerator instance to generate unique challenges for verification. Defaults to WardenDefaults.nonceGenerator.

challengeValidator

A lambda function that initializes a ChallengeValidator based on:

configuration. Defaults to using an InMemoryChallengeCache.