Package-level declarations

Types

Link copied to clipboard

Base class for source of a match.

Link copied to clipboard

ISO 18013-5 version for the source of a match.

Link copied to clipboard

OpenID4VP version for the source of a match.

Link copied to clipboard

An object containing data related to a credential presentment event.

Link copied to clipboard

A selection of credentials and claims in a CredentialPresentmentData.

Link copied to clipboard
data class CredentialPresentmentSet(val optional: Boolean, val options: List<CredentialPresentmentSetOption>)

A set of credentials that can be presented together.

Link copied to clipboard

A member in a credential set option.

Link copied to clipboard

A member of a credential set option.

data class CredentialPresentmentSetOptionMemberMatch(val credential: Credential, val claims: Map<RequestedClaim, Claim>, val source: CredentialMatchSource, val transactionData: List<TransactionData>)

A presentment of a particular Credential from org.multipaz.document.DocumentStore.

Link copied to clipboard
actual data class DocumentChooserData

Data for configuring a document chooser.

expect class DocumentChooserData

Data used to configure the document chooser used in PresentmentModel.

actual class DocumentChooserData

Not implemented for iOS at this point.

actual class DocumentChooserData

Not implemented for JVM platform at this point.

actual class DocumentChooserData

Not implemented for web-based platforms at this point.

Link copied to clipboard

Thrown if timed out waiting for a message from the remote reader.

Link copied to clipboard
data class MdocResponse(val deviceResponse: DeviceResponse, val eventData: EventPresentmentData)

The result of calling mdocPresentment.

Link copied to clipboard

Thrown when presentment was cancelled.

Link copied to clipboard

Thrown when it's not possible to satisfy the request.

Link copied to clipboard

A model which can be used to drive UI for presentment.

Link copied to clipboard
abstract class PresentmentSource(val documentStore: DocumentStore, val documentTypeRepository: DocumentTypeRepository, val zkSystemRepository: ZkSystemRepository? = null, val eventLogger: EventLogger? = null)

The source of truth used for credential presentment.

Link copied to clipboard

Thrown when timing out waiting for the reader to connect.

Link copied to clipboard
class PresentmentUnlockReason(val credential: Credential) : Reason

Value that conveys a request for a key in a SecureArea be unlocked in order to present a Credential to a Relying Party.

Link copied to clipboard
class SimplePresentmentSource(val documentStore: DocumentStore, val documentTypeRepository: DocumentTypeRepository, val zkSystemRepository: ZkSystemRepository? = null, val eventLogger: EventLogger? = null, resolveTrustFn: suspend (requester: Requester) -> TrustMetadata? = { requester -> null }, showConsentPromptFn: ShowConsentPromptFn = ::promptModelRequestConsent, val preferSignatureToKeyAgreement: Boolean = true, val domainsMdocSignature: List<String> = emptyList(), val domainsMdocKeyAgreement: List<String> = emptyList(), val domainsKeylessSdJwt: List<String> = emptyList(), val domainsKeyBoundSdJwt: List<String> = emptyList()) : PresentmentSource

An implementation of PresentmentSource for when using ISO mdoc and IETF SD-JWT VC credentials.

Link copied to clipboard
sealed class TransactionData

An abstract object that describes transaction data item.

Link copied to clipboard

TransactionData in CBOR format as used in ISO/IEC 18013-5:2021.

Link copied to clipboard
class TransactionDataJson(type: TransactionType, val base64UrlEncodedJson: String, val data: JsonObject = Json.parseToJsonElement(base64UrlEncodedJson.fromBase64Url().decodeToString()).jsonObject) : TransactionData

TransactionData in JSON format as used in OpenID4VP.

Functions

Link copied to clipboard
suspend fun digitalCredentialsPresentment(protocol: String, data: String, appId: String?, origin: String, preselectedDocuments: List<Document>, source: PresentmentSource, onDocumentsInFocus: (documents: List<Document>) -> Unit = {}): String
suspend fun digitalCredentialsPresentment(protocol: String, data: JsonObject, appId: String?, origin: String, preselectedDocuments: List<Document>, source: PresentmentSource, onDocumentsInFocus: (documents: List<Document>) -> Unit = {}): JsonObject

Present credentials according to the W3C Digital Credentials API.

Link copied to clipboard
suspend fun Iso18013Presentment(transport: MdocTransport, eDeviceKey: EcPrivateKey, deviceEngagement: DataItem, handover: DataItem, source: PresentmentSource, keyAgreementPossible: List<EcCurve>, timeout: Duration? = 10.seconds, timeoutSubsequentRequests: Duration? = 30.seconds, onWaitingForRequest: () -> Unit = {}, onWaitingForUserInput: () -> Unit = {}, onDocumentsInFocus: (documents: List<Document>) -> Unit = {}, onSendingResponse: () -> Unit = {})

Performs proximity presentment according to ISO/IEC 18013-5:2021.

Link copied to clipboard
suspend fun mdocPresentment(deviceRequest: DeviceRequest, eReaderKey: EcPublicKey?, sessionTranscript: DataItem, source: PresentmentSource, keyAgreementPossible: List<EcCurve>, requesterAppId: String?, requesterOrigin: String?, preselectedDocuments: List<Document> = emptyList(), onWaitingForUserInput: () -> Unit = {}, onDocumentsInFocus: (documents: List<Document>) -> Unit): MdocResponse

Present ISO mdoc credentials according to ISO/IEC 18013-5:2021.

Link copied to clipboard
suspend fun uriSchemePresentment(source: PresentmentSource, uri: String, appId: String?, origin: String?, httpClientEngineFactory: HttpClientEngineFactory<*>, onDocumentsInFocus: (documents: List<Document>) -> Unit = {}): String?

Present credentials according to OpenID4VP 1.0 w/ URI schemes.