Package-level declarations

Types

Link copied to clipboard
@Serializable
data class Claim(val path: DCQLClaimsPathPointer, val display: Set<ClaimDisplay>? = null, val selectivelyDisclosable: ClaimSelectiveDisclosable? = null, val svgId: String? = null)
Link copied to clipboard
@Serializable
data class ClaimDisplay(val language: String, val label: String, val description: String? = null)
Link copied to clipboard
@Serializable
abstract class CredentialSubject

Base class for the subject of a VerifiableCredential, see subclasses of this class, e.g., a concrete credential implementation

Link copied to clipboard
object InstantDescriptor : SerialDescriptor

Sets the correct CBOR tag (0u) when serializing instants from LocalDateOrInstant.Instant

Link copied to clipboard
class InstantStringSerializer : KSerializer<Instant>
Link copied to clipboard
@Serializable
data class KeyBindingJws(val issuedAt: Instant? = null, val audience: String, val challenge: String, val sdHash: ByteArray, val transactionData: List<TransactionDataBase64Url>? = null, val transactionDataHashes: List<@Serializable(with = ByteArrayBase64UrlSerializer::class) ByteArray>? = null, val transactionDataHashesAlgorithm: String? = null)

Key Binding JWT for SD-JWT, per spec draft-ietf-oauth-selective-disclosure-jwt-08

Link copied to clipboard
object LocalDateDescriptor : SerialDescriptor

Sets the correct CBOR tag (1004u) when serializing local dates from LocalDateOrInstant.LocalDate

Link copied to clipboard

Might be used for expiry_date or issue_date in EU PIDs, where issuers may put in a "tdate" or "full-date"

Link copied to clipboard
Link copied to clipboard
@Serializable
data class Logo(val uri: String, val uriIntegrity: String? = null, val altText: String? = null)
Link copied to clipboard
data object MediaTypes
Link copied to clipboard
class NullableInstantLongSerializer : KSerializer<Instant?>
Link copied to clipboard
Link copied to clipboard
@Serializable
data class Rendering(val simple: SimpleRendering? = null, val svgTemplate: Set<SvgTemplateRendering>? = null)
Link copied to clipboard
Link copied to clipboard
@Serializable
data class SdJwtTypeMetadata(val verifiableCredentialType: String, val verifiableCredentialTypeIntegrity: String? = null, val name: String? = null, val description: String? = null, val extends: String? = null, val extendsIntegrity: String? = null, val display: Collection<TypeDisplay>? = null, val claims: Collection<Claim>? = null, val schema: JsonElement? = null, val schemaUri: String? = null, val schemaUriIntegrity: String? = null)

Metadata for an SD-JWT VC Type According to SD-JWT-based Verifiable Credentials (SD-JWT VC), Draft 10 .

Link copied to clipboard
data class SelectiveDisclosureItem(val salt: ByteArray, val claimName: String?, val claimValue: JsonElement)

Selective Disclosure item in SD-JWT format

Link copied to clipboard

Encodes SelectiveDisclosureItem as needed by SD-JWT spec, that is a JSON array with the values for salt, name, and the value itself, which in turn can be anything, e.g. number, boolean or string. We solve this challenge by serializing a list of JsonPrimitive, see implementation. Note, that when disclosing array items, the claim name may be missing.

Link copied to clipboard
@Serializable
data class SimpleRendering(val logo: Logo? = null, val backgroundColor: String? = null, val textColor: String? = null)

The simple rendering method is intended for use in applications that do not support SVG rendering.

Link copied to clipboard
@Serializable
data class Status(val statusList: StatusListInfo)

specification: https://www.ietf.org/archive/id/draft-ietf-oauth-status-list-06.html#name-status-claim

Link copied to clipboard
@Serializable
data class SvgTemplateRendering(val uri: String, val uriIntegrity: String? = null, val properties: Map<String, String>? = null)
Link copied to clipboard
@Serializable
data class TypeDisplay(val language: String, val name: String, val description: String? = null, val rendering: Rendering? = null)
Link copied to clipboard
Link copied to clipboard
@Serializable
data class VerifiableCredential(val id: String, val type: Collection<String>, val issuer: String, val issuanceDate: Instant, val expirationDate: Instant?, val credentialStatus: Status? = null, val credentialSubject: CredentialSubject)

The core of the W3C VC Data Model: a credential.

Link copied to clipboard
@Serializable
data class VerifiableCredentialJws(val vc: VerifiableCredential, val subject: String, val notBefore: Instant, val issuer: String, val expiration: Instant?, val jwtId: String)

JWS representation of a VerifiableCredential.

Link copied to clipboard
@Serializable
data class VerifiableCredentialSdJwt(val subject: String? = null, val notBefore: Instant? = null, val issuer: String? = null, val expiration: Instant? = null, val issuedAt: Instant? = null, val jwtId: String? = null, val disclosureDigests: Collection<String>? = null, val verifiableCredentialType: String, val verifiableCredentialTypeIntegrity: String? = null, val statusElement: JsonElement? = null, val selectiveDisclosureAlgorithm: String? = null, val confirmationClaim: ConfirmationClaim? = null)
Link copied to clipboard
@Serializable
data class VerifiablePresentation(val id: String, val type: String, val verifiableCredential: Collection<String>)

A Verifiable Presentation (see W3C VC Data Model), containing one or more VerifiableCredentials.

Link copied to clipboard
@Serializable
data class VerifiablePresentationJws(val vp: VerifiablePresentation, val challenge: String, val issuer: String, val audience: String, val jwtId: String)

JWS representation of a VerifiablePresentation.