UNPKG

@sphereon/ssi-sdk.mdl-mdoc

Version:

75 lines 3.38 kB
import { com } from '@sphereon/kmp-mdoc-core'; import { PresentationDefinitionV2, PresentationSubmission } from '@sphereon/pex-models'; import { ISphereonKeyManager } from '@sphereon/ssi-sdk-ext.key-manager'; import { CertificateInfo, SubjectAlternativeGeneralName, X509ValidationResult } from '@sphereon/ssi-sdk-ext.x509-utils'; import { IAgentContext, IDIDManager, IPluginMethodMap, IResolver } from '@veramo/core'; import CoseSign1Json = com.sphereon.crypto.cose.CoseSign1Json; import ICoseKeyCbor = com.sphereon.crypto.cose.ICoseKeyCbor; import ICoseKeyJson = com.sphereon.crypto.cose.ICoseKeyJson; import IKeyInfo = com.sphereon.crypto.IKeyInfo; import IVerifyResults = com.sphereon.crypto.generic.IVerifyResults; import IVerifySignatureResult = com.sphereon.crypto.generic.IVerifySignatureResult; import DocumentJson = com.sphereon.mdoc.data.device.DocumentJson; import DocumentCbor = com.sphereon.mdoc.data.device.DocumentCbor; export interface ImDLMdoc extends IPluginMethodMap { x509VerifyCertificateChain(args: VerifyCertificateChainArgs, context: IRequiredContext): Promise<X509ValidationResult>; x509GetCertificateInfo(args: GetX509CertificateInfoArgs, context: IRequiredContext): Promise<CertificateInfo[]>; mdocVerifyIssuerSigned(args: MdocVerifyIssuerSignedArgs, context: IRequiredContext): Promise<IVerifySignatureResult<KeyType>>; mdocOid4vpHolderPresent(args: MdocOid4vpPresentArgs, context: IRequiredContext): Promise<MdocOid4VPPresentationAuth>; mdocOid4vpRPVerify(args: MdocOid4vpRPVerifyArgs, _context: IRequiredContext): Promise<MdocOid4vpRPVerifyResult>; } export type IRequiredContext = IAgentContext<ISphereonKeyManager & IDIDManager & IResolver>; export type VerifyCertificateChainArgs = { chain: Array<string | Uint8Array>; trustAnchors?: string[]; verificationTime?: Date; opts?: { allowNoTrustAnchorsFound?: boolean; trustRootWhenNoAnchors?: boolean; allowSingleNoCAChainElement?: boolean; blindlyTrustedAnchors?: string[]; }; }; export type GetX509CertificateInfoArgs = { certificates: (string | Uint8Array)[]; sanTypeFilter?: SubjectAlternativeGeneralName | SubjectAlternativeGeneralName[]; }; export type KeyType = ICoseKeyJson; export type MdocVerifyIssuerSignedArgs = { input: CoseSign1Json; keyInfo?: IKeyInfo<KeyType>; requireX5Chain?: boolean; }; export interface MdocOid4VPPresentationAuth { vp_token: string; presentation_submission: PresentationSubmission; } export interface MdocOid4vpPresentArgs { mdocs: DocumentCbor[]; mdocHolderNonce?: string; presentationDefinition: PresentationDefinitionV2; trustAnchors?: string[]; verifications?: VerificationOptions; clientId: string; responseUri: string; authorizationRequestNonce: string; } export type VerificationOptions = { allowExpiredDocuments?: boolean; verificationTime?: Date; }; export type DocumentVerifyResult = { document: DocumentJson; validations: IVerifyResults<ICoseKeyCbor>; }; export type MdocOid4vpRPVerifyResult = { error: boolean; documents: Array<DocumentVerifyResult>; presentation_submission: PresentationSubmission; }; export interface MdocOid4vpRPVerifyArgs { vp_token: string; presentation_submission: PresentationSubmission; trustAnchors?: string[]; } //# sourceMappingURL=ImDLMdoc.d.ts.map