Issuer

interface Issuer

Summarizes operations for a Issuer in the sense of the W3C VC Data Model.

It can issue Verifiable Credentials, revoke credentials and build a revocation list.

Inheritors

Types

Link copied to clipboard
data class Attachment(val name: String, val mediaType: String, val data: ByteArray)
Link copied to clipboard
data class FailedAttribute(val attributeName: String, val reason: Throwable)
Link copied to clipboard
sealed class IssuedCredential
Link copied to clipboard
data class IssuedCredentialResult(val successful: List<Issuer.IssuedCredential> = listOf(), val failed: List<Issuer.FailedAttribute> = listOf())

Properties

Link copied to clipboard
abstract val identifier: String

The identifier for this agent, typically the keyId from the cryptographic key, e.g. did:key:mAB... or urn:ietf:params:oauth:jwk-thumbprint:sha256:...

Functions

Link copied to clipboard
abstract fun buildRevocationList(timePeriod: Int): String?

Returns a Base64-encoded, zlib-compressed bitstring of revoked credentials, where the entry at "revocationListIndex" (of the credential) is true iff it is revoked

Link copied to clipboard
Link copied to clipboard

Wraps credential in a single VerifiableCredential, returns a JWS representation of that VC.

Link copied to clipboard
abstract suspend fun issueCredentialWithTypes(subjectId: String, subjectPublicKey: CoseKey? = null, attributeTypes: Collection<String>): Issuer.IssuedCredentialResult

Issues credentials for some attributeTypes (i.e. some of at.asitplus.wallet.lib.data.ConstantIndex.CredentialScheme.vcType) to the subject specified with subjectId (which should be a URL of the cryptographic key of the holder) or with subjectPublicKey.

Link copied to clipboard
abstract suspend fun issueRevocationListCredential(timePeriod: Int): String?

Wraps the revocation information into a VC, returns a JWS representation of that.

Link copied to clipboard
abstract fun revokeCredentials(credentialsToRevoke: List<String>): Boolean

Revokes all verifiable credentials from credentialsToRevoke list that parse and validate. It returns true if all revocations was successful. Note: only the issuer can revoke.