Package-level declarations
Types
Invoked from AttestationVerifier.verifyAttestation. Useful to match against in-transit attestation processes. Most probably, this will check against a nonce cache and evict any matched nonce from the cache. Implementing this function in a meaningful manner is absolutely crucial, since this is the actual challenge matching, ensuring freshness! Challenge nonces are sensitive replay-protection material: implementations and operators should avoid logging them, avoid exposing them across sessions or callers, and rely on protected transport plus caller-aware controls outside the nonce cache when needed.
Verifies attestation statements and issues certificates on success. Expects a preconfigured Makoto instance defining which apps and devices are considered trustworthy.
Compatibility issuer for the signature-only API. Receives the signed CSR after it was thoroughly checked and verified. At this point, the CSR's signature has been verified, the challenge checked, and the public key attested. Hence, a certificate can be issued and the whole certificate chain (from newly issued certificate up to the CA) shall be returned.
Result of matching and consuming the challenge referenced by received client data.
Invoked from AttestationVerifier.verifyAttestation. Required to match against in-transit attestation processes.
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.
Generates a fresh challenge nonce.
High-level verifier errors exposed to AttestationVerifier.verifyAttestation's onPreAttestationError callback.
Receives the signed CSR or unsigned TBS CSR from the mobile client after it was thoroughly checked and verified. At this point, the selected authentication mode has been verified, the challenge checked, requested attributes validated, and the public key matched to the attestation statement. Hence, a certificate can be issued and the whole certificate chain (from newly issued certificate up to the CA) shall be returned.
Integrated attestation configuration for the Supreme attestation verifier
Functions
Decodes an HTTP attestation-proof payload after enforcing AttestationVerifier.maxAttestationPayloadBytes.
Convenience extension to create a Makoto instance from configuration