Issuer

interface Issuer

Summarizes operations for an 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
sealed class IssuedCredential

A credential issued by an Issuer, in a specific format

Properties

Link copied to clipboard
abstract val cryptoAlgorithms: Set<X509SignatureAlgorithm>

The cryptographic algorithms supported by this issuer, i.e. the ones from its cryptographic service, used to sign credentials.

Link copied to clipboard
abstract val keyPair: KeyPairAdapter

The public key for this agent, i.e. the public part of the key that signs issued credentials.

Functions

Link copied to clipboard
abstract fun buildRevocationList(timePeriod: Int? = null): 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
abstract suspend fun issueCredential(subjectPublicKey: CryptoPublicKey, credentialScheme: ConstantIndex.CredentialScheme, representation: ConstantIndex.CredentialRepresentation, claimNames: Collection<String>? = null, dataProviderOverride: IssuerCredentialDataProvider? = null): KmmResult<Issuer.IssuedCredential>

Issues credentials for some credentialScheme to the subject specified with its public key in subjectPublicKey in the format specified by representation. Callers may optionally define some attribute names from ConstantIndex.CredentialScheme.claimNames in claimNames to request only some claims (if supported by the representation).

Link copied to clipboard
abstract suspend fun issueRevocationListCredential(timePeriod: Int? = null): 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.

Link copied to clipboard
abstract fun revokeCredentialsWithId(credentialIdsToRevoke: Map<String, Instant>): Boolean

Revokes all verifiable credentials with ids and issuance date from credentialIdsToRevoke It returns true if all revocations was successful.