Package-level declarations
Types
Main Android attestation configuration class serving as ground truth for all key and app attestation verifications.
Represents a revocation list specific to Android attestation as per [the official specification}(https://developer.android.com/privacy-and-security/security-key-attestation#certificate_status), containing information about revoked or suspended certificates, metadata on expiration, and modification timestamps.
Represents a Patch level configuration property. Patch levels are defined as year and month.
Represents a trusted root entity, which can either be a public key or an X.509 certificate.
Properties
Default public keys used as trust anchors used to verify hardware attestation
Default trust anchors used to verify hardware attestation
Default trust anchors used to verify software attestation working up to Android 12. Useful for testing. If possible, use older Android images on emulators for testing, EVEN IF THEIR ATTTESTATION ROOT IS EXPIRED, because it has a stable, fixed root cert. Newer Android emulator image keys' are a moving target due to utterly undocumented key rotation
Functions
TRIES to parse the number of remotely provisioned attestation certificates. Note that this method returning null does not necessarily mean that a remotely provisioned certificate is not present. It could very well be that the extension is present but botched. (Looking at you, Samsung!).
Returns the parsed, but generic contents of the Remote Key Provisioning extension, if present in an Android attestation certificate chain. One would assume that we could define a type-safe data structure for that, but Samsung being Samsung has kindly reminded us of the fact that phrases like "conforms schema" are thrown around far too often in specifications.
Indicates whether the attestation certificate in this certificate chain is remotely provisioned.