IssuerAgent

class IssuerAgent(validator: Validator, issuerCredentialStore: IssuerCredentialStore = InMemoryIssuerCredentialStore(), revocationListBaseUrl: String = "https://wallet.a-sit.at/backend/credentials/status", dataProvider: IssuerCredentialDataProvider = EmptyCredentialDataProvider, zlibService: ZlibService = DefaultZlibService(), revocationListLifetime: Duration = 48.hours, jwsService: JwsService, coseService: CoseService, clock: Clock = Clock.System, val identifier: String, timePeriodProvider: TimePeriodProvider = FixedTimePeriodProvider) : Issuer

An agent that only implements Issuer, i.e. it issues credentials for other agents.

Constructors

Link copied to clipboard
constructor(validator: Validator, issuerCredentialStore: IssuerCredentialStore = InMemoryIssuerCredentialStore(), revocationListBaseUrl: String = "https://wallet.a-sit.at/backend/credentials/status", dataProvider: IssuerCredentialDataProvider = EmptyCredentialDataProvider, zlibService: ZlibService = DefaultZlibService(), revocationListLifetime: Duration = 48.hours, jwsService: JwsService, coseService: CoseService, clock: Clock = Clock.System, identifier: String, timePeriodProvider: TimePeriodProvider = FixedTimePeriodProvider)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override 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
open override 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 into a single VerifiableCredential, returns a JWS representation of that VC.

Link copied to clipboard
open suspend override fun issueCredentialWithTypes(subjectId: String, subjectPublicKey: CoseKey?, 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)

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

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

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

Revokes all verifiable credentials from credentialsToRevoke list that parse and validate. It returns true if all revocations were successful.