SupremeConfiguration

Integrated attestation configuration for the Supreme attestation verifier

This configuration deals with two aspects of integrated attestation:

  • Configuring attestation policies for Android and iOS.

  • Defining object identifiers and key constraints for fully integrated attestation.

To add custom Android revocation checkers, see AndroidRevocationList.loaderRegistry. To add custom time sources / clocks, see SupremeConfiguration.Clock.registry

See also

for more details on the semantics od OIDs and KeyConstraints

Constructors

Link copied to clipboard
constructor(android: AndroidAttestationConfiguration, ios: IosAttestationConfiguration, clock: SupremeConfiguration.Clock = SupremeConfiguration.Clock.System, verificationTimeOffset: Duration = Makoto.DEFAULT_TIME_OFFSET, attestationProofOID: ObjectIdentifier = WardenDefaults.OIDs.ATTESTATION_PROOF, genericDeviceNameOID: ObjectIdentifier? = WardenDefaults.OIDs.DEVICE_NAME, defaultKeyConstraints: KeyConstraints? = WardenDefaults.KeyConstraints.p256Signer, maxAttestationPayloadBytes: Int = WardenDefaults.DEFAULT_MAX_ATTESTATION_PAYLOAD_BYTES)
constructor(ios: IosAttestationConfiguration, clock: SupremeConfiguration.Clock = SupremeConfiguration.Clock.System, verificationTimeOffset: Duration = Makoto.DEFAULT_TIME_OFFSET, attestationProofOID: ObjectIdentifier = WardenDefaults.OIDs.ATTESTATION_PROOF, genericDeviceNameOID: ObjectIdentifier? = WardenDefaults.OIDs.DEVICE_NAME, defaultKeyConstraints: KeyConstraints? = WardenDefaults.KeyConstraints.p256Signer, maxAttestationPayloadBytes: Int = WardenDefaults.DEFAULT_MAX_ATTESTATION_PAYLOAD_BYTES)

iOS-Only configuration

constructor(android: AndroidAttestationConfiguration, clock: SupremeConfiguration.Clock = SupremeConfiguration.Clock.System, verificationTimeOffset: Duration = Makoto.DEFAULT_TIME_OFFSET, attestationProofOID: ObjectIdentifier = WardenDefaults.OIDs.ATTESTATION_PROOF, genericDeviceNameOID: ObjectIdentifier? = WardenDefaults.OIDs.DEVICE_NAME, defaultKeyConstraints: KeyConstraints? = WardenDefaults.KeyConstraints.p256Signer, maxAttestationPayloadBytes: Int = WardenDefaults.DEFAULT_MAX_ATTESTATION_PAYLOAD_BYTES)

Android-Only configuration

Types

Link copied to clipboard

Configures the time source of a SupremeConfiguration

Properties

Link copied to clipboard

Android-specific attestation configuration. For full details, see AndroidAttestationConfiguration

Link copied to clipboard
@Serializable(with = ObjectIdentifierStringSerializer::class)
val attestationProofOID: ObjectIdentifier

Object identifier for the attestation proof.

Link copied to clipboard
Link copied to clipboard

Configuration for default key constraints, such as supported cryptographic operations.

Link copied to clipboard
@Serializable(with = ObjectIdentifierStringSerializer::class)
val genericDeviceNameOID: ObjectIdentifier?

Optional object identifier for the generic device name.

Link copied to clipboard

iOS-specific attestation configuration. For full details, see IosAttestationConfiguration

Link copied to clipboard

Maximum HTTP payload size, in bytes, accepted for an attestation proof. Warden Supreme uses the same limit at the HTTP boundary for issued challenges and attestation responses. The default accommodates normal CSRs and certificate chains.

Link copied to clipboard

The time offset used during attestation verification.

Functions

Link copied to clipboard
open override fun toJsonElement(): JsonObject
Link copied to clipboard
open override fun toJsonString(): String
Link copied to clipboard
open override fun toYamlString(): String