Package-level declarations

Types

Link copied to clipboard
sealed class Assertion

An open-ended statement that can be wrapped in DeviceAssertion.

Link copied to clipboard
data class AssertionBindingKeys(val publicKeys: List<EcPublicKey>, val nonce: ByteString, val clientId: String, val keyStorage: List<String>, val userAuthentication: List<String>, val issuedAt: Instant, val expiration: Instant? = null) : Assertion

Asserts that the given list of public keys corresponds to the freshly-minted private keys on the device with the given properties.

Link copied to clipboard

General-purpose Assertion that contains arbitrary Cbor data.

Link copied to clipboard
class AssertionNonce(val nonce: ByteString) : Assertion

Asserts that the device has access to the opaque private key in DeviceAttestation by signing server-supplied nonce.

Link copied to clipboard
data class AssertionPoPKey(val publicKey: EcPublicKey, val targetUrl: String) : Assertion

Asserts that the device possesses private key for the given public key publicKey.

Link copied to clipboard
class AssertionRpcAuth(val target: String, val method: String, val nonce: ByteString, val timestamp: Instant, val clientId: String, val payloadHash: ByteString) : Assertion

A subclass of Assertion that authorizes a single RPC call.

Link copied to clipboard
data class DeviceAssertion(val assertionData: ByteString, val platformAssertion: ByteString)

Assertion and additional data that can be used to validate the statement in the assertion.

Link copied to clipboard
class DeviceAssertionException(message: String, cause: Throwable? = null) : Exception

Exception thrown when DeviceAssertion validation fails.

Link copied to clipboard
fun interface DeviceAssertionMaker
Link copied to clipboard
sealed class DeviceAttestation

A platform-issued statement vouching for the integrity of the wallet app.

Link copied to clipboard
data class DeviceAttestationAndroid(val certificateChain: X509CertChain) : DeviceAttestation

On Android we create a private key in secure area and use its key attestation as the device attestation.

Link copied to clipboard
class DeviceAttestationException(message: String, cause: Throwable? = null) : Exception

Exception thrown when DeviceAttestation validation fails.

Link copied to clipboard
data class DeviceAttestationIos(val blob: ByteString) : DeviceAttestation

On iOS device attestation is the result of Apple's DeviceCheck API.

Link copied to clipboard

Plain JVM does not have a way to generate a device attestation.

Link copied to clipboard
data class DeviceAttestationResult(val deviceAttestationId: String, val deviceAttestation: DeviceAttestation)
Link copied to clipboard
data class DeviceAttestationValidationData(val attestationChallenge: ByteString, val iosReleaseBuild: Boolean, val iosAppIdentifiers: Set<String>, val androidGmsAttestation: Boolean, val androidVerifiedBootGreen: Boolean, val androidRequiredKeyMintSecurityLevel: AndroidKeystoreSecurityLevel, val androidAppSignatureCertificateDigests: Set<ByteString>, val androidAppPackageNames: Set<String>)

Data necessary to validate a DeviceAttestation object.

Link copied to clipboard
actual object DeviceCheck

Generates statements validating device/app/OS integrity. Details of these statements are inherently platform-specific.

expect object DeviceCheck

Generates statements validating device/OS/app integrity. Details of these statements are inherently platform-specific.

actual object DeviceCheck
actual object DeviceCheck

Generates statements validating device/app/OS integrity. Details of these statements are inherently platform-specific.

actual object DeviceCheck

Properties

Link copied to clipboard
val Assertion_cborSchemaId: ByteString
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions