CredentialSummary

@Serializable
data class CredentialSummary(val id: String, val credentialIssuer: String, val configurationID: String, val format: String, val vct: String? = null, val doctype: String? = null, val receivedAt: Instant, val holderKeyPresent: Boolean? = null, val display: CredentialDisplay? = null, val validUntil: Instant? = null, val status: CredentialStatus? = null, val copies: Int = 0, val copiesLeft: Int = 0, val refreshable: Boolean = false, val linkable: Boolean = false, val shownToVerifier: Boolean? = null, val linkableHere: Boolean? = null)(source)

A credential the wallet holds, as the app shows it.

Constructors

Link copied to clipboard
constructor(id: String, credentialIssuer: String, configurationID: String, format: String, vct: String? = null, doctype: String? = null, receivedAt: Instant, holderKeyPresent: Boolean? = null, display: CredentialDisplay? = null, validUntil: Instant? = null, status: CredentialStatus? = null, copies: Int = 0, copiesLeft: Int = 0, refreshable: Boolean = false, linkable: Boolean = false, shownToVerifier: Boolean? = null, linkableHere: Boolean? = null)

Properties

Link copied to clipboard
@SerialName(value = "configuration_id")
val configurationID: String

The issuer's credential configuration it was issued under.

Link copied to clipboard
val copies: Int

How many copies the wallet holds, each bound to its own key, and how many no Verifier has seen. Each presentation uses one of those; once none is left, presentations can be linked.

Link copied to clipboard
@SerialName(value = "copies_left")
val copiesLeft: Int

How many copies no Verifier has seen.

Link copied to clipboard
@SerialName(value = "credential_issuer")
val credentialIssuer: String

The issuer's identifier, an https URL.

Link copied to clipboard

How to show it, from the issuer's metadata when it was received.

Link copied to clipboard

An mdoc's document type.

Link copied to clipboard

Its format: dc+sd-jwt or mso_mdoc.

Link copied to clipboard
@SerialName(value = "holder_key_present")
val holderKeyPresent: Boolean?

Whether the key store still holds the credential's key: without it (restored to another device, say) it can't be presented. Set in Wallet.credentials and Wallet.credential.

Link copied to clipboard
val id: String

The credential's ID in the wallet.

Link copied to clipboard

Whether a copy has been presented to more than one Verifier, so those Verifiers could link the holder's presentations. Refreshing gives it copies no Verifier has seen.

Link copied to clipboard
@SerialName(value = "linkable_here")
val linkableHere: Boolean?

Whether presenting it to the Verifier asking would hand it a copy another Verifier has seen. Set only on a presentation's candidates.

Link copied to clipboard
@SerialName(value = "received_at")
@Serializable(with = InstantSerializer::class)
val receivedAt: Instant

When the wallet received it.

Link copied to clipboard

Whether its issuance kept a refresh token (WalletConfiguration.requestRefresh), so Wallet.refreshCredential can replace its copies. The Authorization Server may still refuse (WalletException.Code.reissueRequired).

Link copied to clipboard
@SerialName(value = "shown_to_verifier")
val shownToVerifier: Boolean?

Set only on a presentation's candidates (Presentation.queries): whether the Verifier asking has been shown this credential before, and whether presenting it now would hand it a copy another Verifier has seen.

Link copied to clipboard

Its revocation status, as last checked; null before any check.

Link copied to clipboard
@SerialName(value = "valid_until")
@Serializable(with = InstantSerializer::class)
val validUntil: Instant?

When it expires, if it says.

Link copied to clipboard
val vct: String?

An SD-JWT VC's type.

Functions

Link copied to clipboard
fun isExpired(now: Instant = Instant.now()): Boolean

Whether it has expired by now.