VerifiableCredentialSdJwt

@Serializable
data class VerifiableCredentialSdJwt(val subject: String? = null, val notBefore: Instant? = null, val issuer: String, val expiration: Instant? = null, val issuedAt: Instant? = null, val jwtId: String? = null, val disclosureDigests: Collection<String>? = null, val type: Collection<String>? = null, val verifiableCredentialType: String, val credentialStatus: CredentialStatus? = null, val selectiveDisclosureAlgorithm: String? = null, val confirmationKey: JsonWebKey? = null)

SD-JWT representation of a VerifiableCredential. According to "SD-JWT-based Verifiable Credentials (SD-JWT VC), Draft 03"

Constructors

Link copied to clipboard
constructor(subject: String? = null, notBefore: Instant? = null, issuer: String, expiration: Instant? = null, issuedAt: Instant? = null, jwtId: String? = null, disclosureDigests: Collection<String>? = null, type: Collection<String>? = null, verifiableCredentialType: String, credentialStatus: CredentialStatus? = null, selectiveDisclosureAlgorithm: String? = null, confirmationKey: JsonWebKey? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
@SerialName(value = "cnf")
val confirmationKey: JsonWebKey? = null

OPTIONAL unless cryptographic Key Binding is to be supported, in which case it is REQUIRED. Contains the confirmation method identifying the proof of possession key as defined in RFC7800. It is RECOMMENDED that this contains a JWK as defined in Section 3.2 of RFC7800. For proof of cryptographic Key Binding, the Key Binding JWT in the presentation of the SD-JWT MUST be signed by the key identified in this claim.

Link copied to clipboard
@SerialName(value = "status")
val credentialStatus: CredentialStatus? = null

OPTIONAL. The information on how to read the status of the Verifiable Credential. See (I-D.looker-oauth-jwt-cwt-status-list) for more information.

Link copied to clipboard
@SerialName(value = "_sd")
val disclosureDigests: Collection<String>? = null
Link copied to clipboard
@SerialName(value = "exp")
val expiration: Instant? = null

OPTIONAL. The expiry time of the Verifiable Credential after which the Verifiable Credential is no longer valid. See RFC7519 for more information.

Link copied to clipboard
@SerialName(value = "iat")
val issuedAt: Instant? = null

OPTIONAL. The time of issuance of the Verifiable Credential. See RFC7519 for more information.

Link copied to clipboard
@SerialName(value = "iss")
val issuer: String

REQUIRED. The Issuer of the Verifiable Credential. The value of iss MUST be a URI. See RFC7519 for more information.

Link copied to clipboard
@SerialName(value = "jti")
val jwtId: String? = null
Link copied to clipboard
@SerialName(value = "nbf")
val notBefore: Instant? = null

OPTIONAL. The time before which the Verifiable Credential MUST NOT be accepted before validating. See RFC7519 for more information.

Link copied to clipboard
@SerialName(value = "_sd_alg")
val selectiveDisclosureAlgorithm: String? = null
Link copied to clipboard
@SerialName(value = "sub")
val subject: String? = null

OPTIONAL. The identifier of the Subject of the Verifiable Credential. The Issuer MAY use it to provide the Subject identifier known by the Issuer. There is no requirement for a binding to exist between sub and cnf claims.

Link copied to clipboard
@SerialName(value = "type")
val type: Collection<String>? = null
Link copied to clipboard
@SerialName(value = "vct")
val verifiableCredentialType: String

REQUIRED. This specification defines the JWT claim vct (for verifiable credential type). The vct value MUST be a case-sensitive StringOrURI (see RFC7519) value serving as an identifier for the type of the SD-JWT VC. The vct value MUST be a Collision-Resistant Name as defined in Section 2 of RFC7515.

Functions

Link copied to clipboard