Package-level declarations
Types
Attestation certificate extension used by Google. While we could use sophisticated sanity checks to ensure that only valid extensions that conform to the schema in every aspect, the reality is ugly, with device manufacturers being very creative about how and what will be encoded into softwareEnforced and hardwareEnforced. Hence, we must be able to parse extensions that are structurally valid at first glance, even when the actual values inside look like they have been through a meat grinder. As long as those values we check for during attestation validation are there and contain the values required for a successful assessment, we're golden! Hence, barely any sanity checks are enforced.
Either type containing:
Exception equivalent of AttestationValue.Failure
Authorization List ASN.1 sequence as defined by Android’s attestation schema: https://source.android.com/docs/security/features/keystore/attestation#schema
Properties
Tries to parse an AttestationKeyDescription certificate extension, if present. Never throws.
Tries to parse an AttestationKeyDescription certificate extension, if present. Never throws.
As per Google's parser: Parse the attestation record that is closest to the root. This prevents an adversary from attesting an attestation record of their choice with an otherwise trusted chain using the following attack:
YearMonth representation of AuthorizationList.osPatchLevel, but tolerating a zero-indexed month