Package-level declarations

Types

Link copied to clipboard
class AndroidPlatformKeyProvider(context: Context, interactionContextProvider: () -> FragmentActivity? = { null }) : PlatformManagedKeyProvider

Managed-key provider backed by Android KeyStore.

Link copied to clipboard
class IosPlatformKeyProvider : PlatformManagedKeyProvider

Managed-key provider backed by iOS Keychain and Secure Enclave.

Link copied to clipboard
@Serializable
data class KeyUseAuthorizationPrompt(val reason: String = "Please authorize cryptographic signature", val cancelText: String = "Cancel")

Text used by operating-system-owned authorization UI.

Link copied to clipboard
interface MobileWalletKeyStore : WalletKeyStore

Mobile key store that can report the immutable authorization policy of a persisted key.

Link copied to clipboard

Platform-managed key provider used by mobile wallet persistence.

Link copied to clipboard

Result of restoring one persisted managed key.

Link copied to clipboard
data class WalletKeyCreationRequest(val id: KeyId, val requirements: WalletKeyRequirements, val prompt: KeyUseAuthorizationPrompt = KeyUseAuthorizationPrompt(), val nativeAlias: String = id.value)

Request to create one wallet signing key.

Link copied to clipboard

Signing-key protection is independent of the authorization needed to use the key.

Link copied to clipboard
@Serializable
data class WalletKeyRequirements(val spec: KeySpec, val usages: Set<KeyUsage>, val authorizationPolicy: KeyUseAuthorizationPolicy = KeyUseAuthorizationPolicy.None, val protection: WalletKeyProtection = WalletKeyProtection.PlatformDefault, val platform: PlatformKeyConfiguration = id.walt.crypto2.keys.PlatformKeyConfiguration.Default, val attestationChallenge: BinaryData? = null)

Capabilities required from a wallet signing key.