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 iosAppIdentifier: String?, val androidGmsAttestation: Boolean, val androidVerifiedBootGreen: Boolean, val androidAppSignatureCertificateDigests: List<ByteString>)

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.