validate
The contract of this function is that it returns a ChallengeValidationResult.Success iff a valid challenge matching the attestationProof from the client is found. In all other cases, it must return a ChallengeValidationResult.Failure:
It must return a ChallengeValidationResult.Failure.NonceExtraction if nonce extraction fails (relevant for nonce-cache based implementations)
It must return a ChallengeValidationResult.Failure.Other if other validation errors occur, such as no valid challenge matching the request. In addition, it should also remove all expired challenges, to keep stale challenges from inflating memory/storage.
The contract of this function is that it returns a ChallengeValidationResult.Success iff a valid challenge matching the passed signed CSR from the client is found. In all other cases, it must return a ChallengeValidationResult.Failure:
It must return a ChallengeValidationResult.Failure.NonceExtraction if nonce extraction fails (relevant for nonce-cache based implementations)
It must return a ChallengeValidationResult.Failure.Other if other validation errors occur, such as no valid challenge matching the request. In addition, it should also remove all expired challenges, to keep stale challenges from inflating memory/storage.