InMemoryChallengeCache

Caches issued challenges in memory in a coroutine-safe way. Requires a clock and an offset. The AttestationVerifier passes Makoto's clock and the inverse of Makoto.verificationTimeOffset, since these two values are also encoded into issues challenges.

Constructors

Link copied to clipboard
constructor(clock: Clock, offset: Duration)

Functions

Link copied to clipboard
open suspend override fun store(challenge: AttestationChallenge)

The contract of this function is that it stores challenges regardless of their contents and performs no sanity checks. Reason: Strong cryptographic nonces are assumed, making collisions unrealistic

Link copied to clipboard
open suspend override fun validate(csr: Pkcs10CertificationRequest): ChallengeValidationResult

The contract of this function is that it returns a ChallengeValidationResult.Success iff a valid challenge matching the passend csr from the client is found. In all other cases, it must return a ChallengeValidationResult.Failure: