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
open suspend override fun issueCredential(subjectPublicKey: CryptoPublicKey, attributeTypes: Collection<String>, representation: ConstantIndex.CredentialRepresentation): Issuer.IssuedCredentialResult

Issues credentials for some attributeTypes (i.e. some of at.asitplus.wallet.lib.data.ConstantIndex.CredentialScheme.vcType) to the subject specified with its public key in subjectPublicKey in the format specified by representation.

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

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 was successful.

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

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