Package-level declarations
Types
Link copied to clipboard
Intermediate DTO to hold the parsed clientMetadata as well as the created params.
Link copied to clipboard
Possible outcomes of creating an OpenID Authentication Response, to be sent back to the verifier.
Link copied to clipboard
Result of validating an OpenID authentication response, covering success and error cases. Use to inspect how a wallet response was parsed and whether presentation validation succeeded.
Link copied to clipboard
@Serializable
Intermediate result class to display information about the authentication process to the user, i.e., to let them make an informed decision.
Link copied to clipboard
Represents the OpenID client identifier scheme used to validate verifier identity. Use to select the client-id flavor (redirect URI, X.509, attestation) and derive IDs/URIs accordingly.
Link copied to clipboard
Link copied to clipboard
data class DCQLMatchingResult<Credential : Any>(val presentationRequest: CredentialPresentationRequest.DCQLRequest, val dcqlQueryResult: DCQLQueryResult<Credential>) : CredentialMatchingResult<Credential>
Link copied to clipboard
Link copied to clipboard
class OpenId4VpHolder(keyMaterial: KeyMaterial = EphemeralKeyWithoutCert(), holder: Holder = HolderAgent(keyMaterial), signIdToken: SignJwtFun<IdToken> = SignJwt(keyMaterial, JwsHeaderCertOrJwk()), encryptJarm: EncryptJweFun = EncryptJwe(keyMaterial), supportedAlgorithms: Set<SignatureAlgorithm> = setOf(SignatureAlgorithm.ECDSAwithSHA256), signDeviceAuthDetached: SignCoseDetachedFun<ByteArray> = SignCoseDetached(keyMaterial, CoseHeaderNone(), CoseHeaderNone()), clock: Clock = Clock.System, clientId: String = "https://wallet.a-sit.at/", authorizationEndpoint: String = "openid4vp:", remoteResourceRetriever: RemoteResourceRetrieverFunction = { null }, requestObjectJwsVerifier: RequestObjectJwsVerifier = RequestObjectJwsVerifier { _ -> true }, walletNonceMapStore: MapStore<String, String> = DefaultMapStore(), randomSource: RandomSource = RandomSource.Secure, lookupJsonWebKeysForClient: (OpenId4VpHolder.JsonWebKeyLookupInput) -> JsonWebKeySet? = { null })
Link copied to clipboard
data class OpenId4VpRequestOptions(val credentials: Set<RequestOptionsCredential>, val presentationMechanism: PresentationMechanismEnum = PresentationMechanismEnum.PresentationExchange, val responseMode: OpenIdConstants.ResponseMode = OpenIdConstants.ResponseMode.Fragment, val responseUrl: String? = null, val responseType: String = VP_TOKEN, val state: String = uuid4().toString(), val encryption: Boolean = false, val transactionData: List<TransactionData>? = null, val expectedOrigins: List<String>? = null, val populateClientId: Boolean = true) : RequestOptions
Link copied to clipboard
class OpenId4VpVerifier(clientIdScheme: ClientIdScheme, keyMaterial: KeyMaterial = EphemeralKeyWithoutCert(), val verifier: Verifier = VerifierAgent(identifier = clientIdScheme.clientId), decryptionKeyMaterial: KeyMaterial = EphemeralKeyWithoutCert(), decryptJwe: DecryptJweFun = DecryptJwe(decryptionKeyMaterial), signAuthnRequest: SignJwtFun<AuthenticationRequestParameters> = SignJwt(keyMaterial, JwsHeaderClientIdScheme(clientIdScheme)), verifyJwsObject: VerifyJwsObjectFun = VerifyJwsObject(), supportedAlgorithms: Set<SignatureAlgorithm> = setOf(SignatureAlgorithm.ECDSAwithSHA256), verifyCoseSignature: VerifyCoseSignatureWithKeyFun<ByteArray> = VerifyCoseSignatureWithKey(), timeLeewaySeconds: Long = 300, clock: Clock = Clock.System, nonceService: NonceService = DefaultNonceService(), stateToAuthnRequestStore: MapStore<String, AuthenticationRequestParameters> = DefaultMapStore(), supportedJweAlgorithm: JweAlgorithm = JweAlgorithm.ECDH_ES, supportedJweEncryptionAlgorithm: JweEncryption = JweEncryption.A256GCM, supportedJweEncryptionAlgorithms: Set<JweEncryption> = JweEncryption.entries.toSet()) : AbstractMdocVerifier
Link copied to clipboard
data class PresentationExchangeMatchingResult<Credential : Any>(val presentationRequest: CredentialPresentationRequest.PresentationExchangeRequest, val matchingInputDescriptorCredentials: Map<String, Map<Credential, Map<ConstraintField, NodeList>>>) : CredentialMatchingResult<Credential>
Link copied to clipboard
Link copied to clipboard
class RequestOptions
Link copied to clipboard
class RequestOptionsCredential
Link copied to clipboard
class RequestParser(remoteResourceRetriever: RemoteResourceRetrieverFunction = { null }, requestObjectJwsVerifier: RequestObjectJwsVerifier = RequestObjectJwsVerifier { _: Any -> true }, buildRequestObjectParameters: suspend () -> RequestObjectParameters? = { null })
Link copied to clipboard
class ResponseParser(decryptJwe: DecryptJweFun = DecryptJwe(EphemeralKeyWithoutCert()), verifyJwsObject: VerifyJwsObjectFun = VerifyJwsObject())
Parses authentication responses for OpenId4VpVerifier