UNPKG

@credo-ts/core

Version:

<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1

104 lines (103 loc) • 4.79 kB
import { X509Certificate } from "./X509Certificate.mjs"; import { SdJwtVc } from "../sd-jwt-vc/SdJwtVcService.mjs"; import "../sd-jwt-vc/index.mjs"; import { JwtPayload } from "../../crypto/jose/jwt/JwtPayload.mjs"; import { W3cJwtVerifiableCredential } from "../vc/jwt-vc/W3cJwtVerifiableCredential.mjs"; import { W3cJwtVerifiablePresentation } from "../vc/jwt-vc/W3cJwtVerifiablePresentation.mjs"; import "../vc/index.mjs"; import { Mdoc } from "../mdoc/Mdoc.mjs"; import "../../crypto/index.mjs"; import { AgentContext } from "../../agent/context/AgentContext.mjs"; import "../../agent/index.mjs"; //#region src/modules/x509/X509ModuleConfig.d.ts type X509VerificationTypeCredential = { type: 'credential'; credential: SdJwtVc | Mdoc | W3cJwtVerifiableCredential | W3cJwtVerifiablePresentation; /** * The `id` of the `DidCommProofRecord` that this verification is bound to. */ didcommProofRecordId?: string; /** * The `id` of the `OpenId4VcVerificationSessionRecord` that this verification is bound to. */ openId4VcVerificationSessionId?: string; }; type X509VerificationTypeOauth2SecuredAuthorizationRequest = { type: 'oauth2SecuredAuthorizationRequest'; authorizationRequest: { jwt: string; payload: JwtPayload; }; }; type X509VerificationTypeOpenId4VciKeyAttestation = { type: 'openId4VciKeyAttestation'; /** * The `id` of the `OpenId4VcIssuanceSessionRecord` that this key * attestation verification is bound to. */ openId4VcIssuanceSessionId: string; keyAttestation: { jwt: string; payload: JwtPayload; }; }; type X509VerificationTypeOpenId4VciCredentialIssuerMetadata = { type: 'openId4VciCredentialIssuerMetadata'; credentialIssuerMetadata: { jwt: string; payload: JwtPayload; }; }; type X509VerificationTypeOauth2ClientAttestation = { type: 'oauth2ClientAttestation'; /** * The `id` of the `OpenId4VcIssuanceSessionRecord` that this client * attestation verification is bound to. */ openId4VcIssuanceSessionId: string; clientAttestation: { jwt: string; payload: JwtPayload; }; }; interface X509VerificationContext { /** * The certificate chain provided with the data to be verified. The trusted certificates * are determined before verification and thus it is not verified that the data was actually * signed by the private key assocaited with the leaf certificate in the certificate chain, or * whether the certificate chain is valid. However if the certificate * does not match, or is not valid, verification will always fail at a later stage */ certificateChain: X509Certificate[]; verification: X509VerificationTypeCredential | X509VerificationTypeOauth2SecuredAuthorizationRequest | X509VerificationTypeOauth2ClientAttestation | X509VerificationTypeOpenId4VciKeyAttestation | X509VerificationTypeOpenId4VciCredentialIssuerMetadata; } interface X509ModuleConfigOptions { /** * * Array of trusted base64-encoded certificate strings in the DER-format. */ trustedCertificates?: Array<string | X509Certificate>; /** * Optional callback method that will be called to dynamically get trusted certificates for a verification. * It will provide the `agentContext` and `verificationContext` allowing to dynamically set the trusted certificates * for a tenant or verificaiton context. * * If no certificaets should be trusted an empty array should be returned. If `undefined` is returned * it will fallback to the globally registered trusted certificates * * @returns An array of base64-encoded certificate strings or PEM certificate strings. */ getTrustedCertificatesForVerification?(agentContext: AgentContext, verificationContext: X509VerificationContext): Promise<string[] | undefined> | string[] | undefined; } declare class X509ModuleConfig { #private; constructor(options?: X509ModuleConfigOptions); get trustedCertificates(): string[] | undefined; get getTrustedCertificatesForVerification(): ((agentContext: AgentContext, verificationContext: X509VerificationContext) => Promise<string[] | undefined> | string[] | undefined) | undefined; setTrustedCertificatesForVerification(fn: X509ModuleConfigOptions['getTrustedCertificatesForVerification']): void; setTrustedCertificates(trustedCertificates?: Array<string | X509Certificate>): void; addTrustedCertificate(trustedCertificate: string | X509Certificate): void; } //#endregion export { X509ModuleConfig, X509ModuleConfigOptions, X509VerificationContext, X509VerificationTypeCredential, X509VerificationTypeOauth2ClientAttestation, X509VerificationTypeOauth2SecuredAuthorizationRequest, X509VerificationTypeOpenId4VciCredentialIssuerMetadata, X509VerificationTypeOpenId4VciKeyAttestation }; //# sourceMappingURL=X509ModuleConfig.d.mts.map