Package-level declarations
Types
The runtime counterpart of IssuerSpec: a root, an attestation CA chain, and the keys to sign with.
One attestation to issue: the KeyMint statement itself, plus when the certificates start being valid.
Builder for one KeyMint statement, i.e. one AttestationKeyDescription plus its issuance date.
A private key together with the certificate that binds it: the unit an issuer actually signs with.
Everything needed to reproduce a set of fake Android key attestations, and the only model in this module. It is serializable as-is, the DSL builds it directly, and AndroidAttestationIssuer consumes it — there is no second representation to keep in sync.
The builders below produce nothing but GeneratorConfig parts and hand them straight to AndroidAttestationIssuer. They add defaults and ergonomics — never fields, meaning, or a model of their own. Authorization lists are not built here at all: the parser's own AuthorizationList constructor is already a complete, type-safe, named-argument builder for the whole schema, and AuthorizationList.mangle(…) covers the negative-test cases.
One issued attestation: the chain a client would present, and the attested leaf key.
The issuing hierarchy: which chain shape to build, from which root, valid from when.
How the chain between root and attestation key is shaped, i.e. what KeyAttestationCertPath.provisioningMethod() will make of it.
Properties
Functions
Builds an issuer, generating a fresh EC P-256 root and a factory-provisioned TEE CA by default.
Returns a copy in which every occurrence of property is replaced by rawExplicitProperty.
Convenience overload for hexadecimal DER containing the complete explicitly-tagged property.
Raw-tag variant for data-driven test vector tooling.
Hex-DER convenience overload for data-driven test vector tooling.