OpenId4VpKtorHolder

constructor(httpClient: HttpClient, keyMaterial: KeyMaterial, holder: Holder, encryptJarm: EncryptJweFun = EncryptJwe(), supportedAlgorithms: Set<SignatureAlgorithm> = setOf(SignatureAlgorithm.ECDSAwithSHA256), clientId: String = "https://wallet.a-sit.at/", authorizationEndpoint: String = "openid4vp:", walletNonceMapStore: MapStore<String, String> = DefaultMapStore(), randomSource: RandomSource = RandomSource.Secure, lookupJsonWebKeysForClient: (OpenId4VpHolder.JsonWebKeyLookupInput) -> JsonWebKeySet? = { null }, allowedDcApiOriginSchemes: suspend () -> Set<String> = { OpenId4VpHolder.DEFAULT_ALLOWED_DC_API_ORIGIN_SCHEMES }, ephemeralEncryptionKeyService: EphemeralEncryptionKeyService? = null, supportedJweEncryptionAlgorithms: Set<JweEncryption> = JweEncryption.entries.toSet(), requireEncryptedRequests: Boolean = false, relyingPartyValidator: RelyingPartyValidator = RelyingPartyValidator())(source)


constructor(httpClient: HttpClient, keyMaterial: KeyMaterial, holder: Holder, encryptJarm: EncryptJweFun = EncryptJwe(), supportedAlgorithms: Set<SignatureAlgorithm> = setOf(SignatureAlgorithm.ECDSAwithSHA256), clientId: String = "https://wallet.a-sit.at/", authorizationEndpoint: String = "openid4vp:", relyingPartyTrust: Set<RelyingPartyTrust>?, walletNonceMapStore: MapStore<String, String> = DefaultMapStore(), randomSource: RandomSource = RandomSource.Secure, lookupJsonWebKeysForClient: (OpenId4VpHolder.JsonWebKeyLookupInput) -> JsonWebKeySet? = { null }, allowedDcApiOriginSchemes: suspend () -> Set<String> = { OpenId4VpHolder.DEFAULT_ALLOWED_DC_API_ORIGIN_SCHEMES }, ephemeralEncryptionKeyService: EphemeralEncryptionKeyService? = null, supportedJweEncryptionAlgorithms: Set<JweEncryption> = JweEncryption.entries.toSet(), requireEncryptedRequests: Boolean = false)(source)

Deprecated

Trust in relying parties is established by relyingPartyValidator, with the anchors of the access certificate providers: use the constructor without relyingPartyTrust


constructor(engine: HttpClientEngine, httpClientConfig: HttpClientConfig<*>.() -> Unit? = null, keyMaterial: KeyMaterial, holderAgent: HolderAgent, randomSource: RandomSource = RandomSource.Secure, allowedDcApiOriginSchemes: suspend () -> Set<String> = { OpenId4VpHolder.DEFAULT_ALLOWED_DC_API_ORIGIN_SCHEMES }, relyingPartyTrust: Set<RelyingPartyTrust>? = null, ephemeralEncryptionKeyService: EphemeralEncryptionKeyService? = null, requireEncryptedRequests: Boolean = false)(source)

Deprecated

Pass the app's HttpClient instead of engine and httpClientConfig, and the holder as holder; this also takes every other parameter of OpenId4VpHolder

Parameters

engine

ktor engine to make requests to the Relying Party.

httpClientConfig

Additional configuration for building the HTTP client, e.g. callers may enable logging.

keyMaterial

Key Material to be passed on to OpenId4VpHolder

holderAgent

Holder Agent to be passed on to OpenId4VpHolder

randomSource

Source for random bytes, i.e., nonces for encrypted responses.

allowedDcApiOriginSchemes

Supplies the allowed origin schemes for OpenID4VP DC API requests.

relyingPartyTrust

How to establish trust in the relying party, to be passed on to OpenId4VpHolder.

ephemeralEncryptionKeyService

Set to accept encrypted authorization requests, to be passed on to OpenId4VpHolder.

requireEncryptedRequests

Set to reject plain request objects fetched with POST, to be passed on to OpenId4VpHolder.