@credo-ts/openid4vc 0.6.0-pr-2195-20250322195244 → 0.6.0-pr-2324-20250625125220

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +10 -6
  2. package/build/openid4vc-holder/OpenId4VcHolderApi.js +2 -4
  3. package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
  4. package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +14 -19
  5. package/build/openid4vc-holder/OpenId4VciHolderService.js +425 -203
  6. package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
  7. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +117 -37
  8. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +1 -0
  9. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
  10. package/build/openid4vc-holder/OpenId4vpHolderService.js +24 -15
  11. package/build/openid4vc-holder/OpenId4vpHolderService.js.map +1 -1
  12. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +21 -0
  13. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +11 -0
  14. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +1 -1
  15. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +7 -3
  16. package/build/openid4vc-issuer/OpenId4VcIssuerService.js +387 -167
  17. package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
  18. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +67 -27
  19. package/build/openid4vc-issuer/index.d.ts +1 -1
  20. package/build/openid4vc-issuer/index.js +2 -1
  21. package/build/openid4vc-issuer/index.js.map +1 -1
  22. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +29 -5
  23. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +2 -0
  24. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
  25. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.ts +12 -7
  26. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +15 -3
  27. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
  28. package/build/openid4vc-issuer/router/accessTokenEndpoint.js +41 -13
  29. package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
  30. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +102 -33
  31. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
  32. package/build/openid4vc-issuer/router/credentialEndpoint.js +42 -10
  33. package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
  34. package/build/openid4vc-issuer/router/jwksEndpoint.js +2 -2
  35. package/build/openid4vc-issuer/router/jwksEndpoint.js.map +1 -1
  36. package/build/openid4vc-issuer/util/txCode.d.ts +1 -1
  37. package/build/openid4vc-issuer/util/txCode.js +3 -1
  38. package/build/openid4vc-issuer/util/txCode.js.map +1 -1
  39. package/build/openid4vc-verifier/OpenId4VpVerifierService.d.ts +1 -1
  40. package/build/openid4vc-verifier/OpenId4VpVerifierService.js +70 -65
  41. package/build/openid4vc-verifier/OpenId4VpVerifierService.js.map +1 -1
  42. package/build/openid4vc-verifier/OpenId4VpVerifierServiceOptions.d.ts +7 -1
  43. package/build/shared/callbacks.d.ts +6 -4
  44. package/build/shared/callbacks.js +212 -69
  45. package/build/shared/callbacks.js.map +1 -1
  46. package/build/shared/models/CredentialHolderBinding.d.ts +65 -11
  47. package/build/shared/models/OpenId4VcJwtIssuer.d.ts +10 -5
  48. package/build/shared/models/OpenId4VciCredentialFormatProfile.d.ts +1 -0
  49. package/build/shared/models/OpenId4VciCredentialFormatProfile.js +1 -0
  50. package/build/shared/models/OpenId4VciCredentialFormatProfile.js.map +1 -1
  51. package/build/shared/router/tenants.js +2 -2
  52. package/build/shared/router/tenants.js.map +1 -1
  53. package/build/shared/utils.d.ts +4 -9
  54. package/build/shared/utils.js +27 -44
  55. package/build/shared/utils.js.map +1 -1
  56. package/package.json +14 -14
@@ -1,8 +1,8 @@
1
1
  import { AgentContext, Query, QueryOptions } from '@credo-ts/core';
2
- import type { OpenId4VpCreateAuthorizationRequestOptions, OpenId4VpCreateAuthorizationRequestReturn, OpenId4VpCreateVerifierOptions, OpenId4VpVerifiedAuthorizationResponse, OpenId4VpVerifyAuthorizationResponseOptions } from './OpenId4VpVerifierServiceOptions';
3
2
  import { Logger, W3cCredentialService } from '@credo-ts/core';
4
3
  import { OpenId4VcVerificationSessionState } from './OpenId4VcVerificationSessionState';
5
4
  import { OpenId4VcVerifierModuleConfig } from './OpenId4VcVerifierModuleConfig';
5
+ import type { OpenId4VpCreateAuthorizationRequestOptions, OpenId4VpCreateAuthorizationRequestReturn, OpenId4VpCreateVerifierOptions, OpenId4VpVerifiedAuthorizationResponse, OpenId4VpVerifyAuthorizationResponseOptions } from './OpenId4VpVerifierServiceOptions';
6
6
  import { OpenId4VcVerificationSessionRecord, OpenId4VcVerificationSessionRepository, OpenId4VcVerifierRecord, OpenId4VcVerifierRepository } from './repository';
7
7
  /**
8
8
  * @internal
@@ -19,8 +19,8 @@ const oauth2_1 = require("@openid4vc/oauth2");
19
19
  const openid4vp_1 = require("@openid4vc/openid4vp");
20
20
  const callbacks_1 = require("../shared/callbacks");
21
21
  const router_1 = require("../shared/router");
22
- const utils_1 = require("../shared/utils");
23
22
  const transactionData_1 = require("../shared/transactionData");
23
+ const utils_1 = require("../shared/utils");
24
24
  const OpenId4VcVerificationSessionState_1 = require("./OpenId4VcVerificationSessionState");
25
25
  const OpenId4VcVerifierEvents_1 = require("./OpenId4VcVerifierEvents");
26
26
  const OpenId4VcVerifierModuleConfig_1 = require("./OpenId4VcVerifierModuleConfig");
@@ -42,8 +42,9 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
42
42
  return openid4vpClient;
43
43
  }
44
44
  async createAuthorizationRequest(agentContext, options) {
45
- const nonce = await agentContext.wallet.generateNonce();
46
- const state = await agentContext.wallet.generateNonce();
45
+ const kms = agentContext.resolve(core_1.Kms.KeyManagementApi);
46
+ const nonce = core_2.TypedArrayEncoder.toBase64URL(kms.randomBytes({ length: 32 }));
47
+ const state = core_2.TypedArrayEncoder.toBase64URL(kms.randomBytes({ length: 32 }));
47
48
  const responseMode = options.responseMode ?? 'direct_post.jwt';
48
49
  const isDcApiRequest = responseMode === 'dc_api' || responseMode === 'dc_api.jwt';
49
50
  const version = options.version ?? 'v1.draft24';
@@ -62,6 +63,16 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
62
63
  if (responseMode === 'direct_post' && hasMdocRequest) {
63
64
  throw new core_2.CredoError("Unable to create authorization request with response mode 'direct_post' containing mDOC credentials. ISO 18013-7 requires the usage of response mode 'direct_post.jwt', and needs parameters from the encrypted response header to verify the mDOC sigature.");
64
65
  }
66
+ if (options.verifierAttestations) {
67
+ const hasValidCredentialIdsForDcql = options?.dcql?.query.credentials.every(({ id }) => options.verifierAttestations?.every((va) => va.credential_ids?.includes(id))) ?? true;
68
+ if (!hasValidCredentialIdsForDcql) {
69
+ throw new core_2.CredoError('Dcql is used as query language and verifier attestations were provided, but the dcql query used credential ids that are not supported by the verifier attestations');
70
+ }
71
+ const hasValidCredentialIdsForPex = options?.presentationExchange?.definition.input_descriptors.every(({ id }) => options.verifierAttestations?.every((va) => va.credential_ids?.includes(id)));
72
+ if (!hasValidCredentialIdsForPex) {
73
+ throw new core_2.CredoError('Presentation Exchange is used as query language and verifier attestations were provided, but the presentation exchange query used credential ids that are not supported by the verifier attestations');
74
+ }
75
+ }
65
76
  const authorizationRequestId = core_2.utils.uuid();
66
77
  // We include the `session=` in the url so we can still easily
67
78
  // find the session an encrypted response
@@ -130,6 +141,7 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
130
141
  response_mode: responseMode,
131
142
  response_type: 'vp_token',
132
143
  client_metadata,
144
+ verifier_attestations: options.verifierAttestations,
133
145
  };
134
146
  const openid4vpVerifier = this.getOpenid4vpVerifier(agentContext);
135
147
  const authorizationRequest = await openid4vpVerifier.createOpenId4vpAuthorizationRequest({
@@ -217,7 +229,7 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
217
229
  callbacks: (0, callbacks_1.getOid4vcCallbacks)(agentContext),
218
230
  });
219
231
  // FIXME: use JarmMode enum when new release of oid4vp
220
- if (parsedAuthorizationResponse.jarm && parsedAuthorizationResponse.jarm.type !== 'Encrypted') {
232
+ if (parsedAuthorizationResponse.jarm && parsedAuthorizationResponse.jarm.type !== openid4vp_1.JarmMode.Encrypted) {
221
233
  throw new oauth2_1.Oauth2ServerErrorResponseError({
222
234
  error: oauth2_1.Oauth2ErrorCodes.InvalidRequest,
223
235
  error_description: `Only encrypted JARM responses are supported, received '${parsedAuthorizationResponse.jarm.type}'.`,
@@ -262,7 +274,9 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
262
274
  let transactionData = undefined;
263
275
  try {
264
276
  const parsedClientId = (0, openid4vp_1.getOpenid4vpClientId)({
265
- authorizationRequestPayload: authorizationRequest,
277
+ responseMode: authorizationRequest.response_mode,
278
+ clientId: authorizationRequest.client_id,
279
+ legacyClientIdScheme: authorizationRequest.client_id_scheme,
266
280
  origin: options.origin,
267
281
  });
268
282
  // If client_id_scheme was used we need to use the legacy client id.
@@ -277,7 +291,7 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
277
291
  if (result.type === 'dcql') {
278
292
  const dcqlPresentationEntries = Object.entries(result.dcql.presentations);
279
293
  if (!authorizationRequest.dcql_query) {
280
- throw new core_2.CredoError('');
294
+ throw new core_2.CredoError('Missing required dcql query');
281
295
  }
282
296
  const dcql = agentContext.dependencyManager.resolve(core_2.DcqlService);
283
297
  const dcqlQuery = dcql.validateDcqlQuery(authorizationRequest.dcql_query);
@@ -505,14 +519,15 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
505
519
  }
506
520
  async getClientMetadata(agentContext, options) {
507
521
  const { responseMode, verifier } = options;
508
- const signatureSuiteRegistry = agentContext.dependencyManager.resolve(core_2.SignatureSuiteRegistry);
522
+ const signatureSuiteRegistry = agentContext.resolve(core_2.SignatureSuiteRegistry);
523
+ const kms = agentContext.resolve(core_1.Kms.KeyManagementApi);
509
524
  const supportedAlgs = (0, utils_1.getSupportedJwaSignatureAlgorithms)(agentContext);
510
525
  const supportedMdocAlgs = supportedAlgs.filter(core_2.isMdocSupportedSignatureAlgorithm);
511
526
  const supportedProofTypes = signatureSuiteRegistry.supportedProofTypes;
512
527
  let jarmEncryptionJwk;
513
528
  if ((0, openid4vp_1.isJarmResponseMode)(responseMode)) {
514
- const key = await agentContext.wallet.createKey({ keyType: core_2.KeyType.P256 });
515
- jarmEncryptionJwk = { ...(0, core_2.getJwkFromKey)(key).toJson(), kid: key.fingerprint, use: 'enc' };
529
+ const key = await kms.createKey({ type: { crv: 'P-256', kty: 'EC' } });
530
+ jarmEncryptionJwk = { ...key.publicJwk, use: 'enc' };
516
531
  }
517
532
  const jarmClientMetadata = jarmEncryptionJwk
518
533
  ? {
@@ -593,7 +608,7 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
593
608
  try {
594
609
  this.logger.trace('Presentation response', core_2.JsonTransformer.toJSON(presentation));
595
610
  let isValid;
596
- let reason = undefined;
611
+ let cause = undefined;
597
612
  let verifiablePresentation;
598
613
  if (format === core_1.ClaimFormat.SdJwtVc) {
599
614
  if (typeof presentation !== 'string') {
@@ -626,7 +641,7 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
626
641
  trustedCertificates,
627
642
  });
628
643
  isValid = verificationResult.verification.isValid;
629
- reason = verificationResult.isValid ? undefined : verificationResult.error.message;
644
+ cause = verificationResult.isValid ? undefined : verificationResult.error;
630
645
  verifiablePresentation = sdJwtVc;
631
646
  }
632
647
  else if (format === core_1.ClaimFormat.MsoMdoc) {
@@ -634,44 +649,48 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
634
649
  throw new core_2.CredoError('Expected vp_token entry for format mso_mdoc to be of type string');
635
650
  }
636
651
  const mdocDeviceResponse = core_2.MdocDeviceResponse.fromBase64Url(presentation);
637
- if (mdocDeviceResponse.documents.length !== 1) {
638
- throw new core_2.CredoError('Only a single mdoc is supported per device response for OpenID4VP verification');
639
- }
640
- const document = mdocDeviceResponse.documents[0];
641
- const certificateChain = document.issuerSignedCertificateChain.map((cert) => core_2.X509Certificate.fromRawCertificate(cert));
642
- const trustedCertificates = await x509Config.getTrustedCertificatesForVerification?.(agentContext, {
643
- certificateChain,
644
- verification: {
645
- type: 'credential',
646
- credential: document,
647
- openId4VcVerificationSessionId: options.verificationSessionId,
648
- },
649
- });
650
- let sessionTranscriptOptions;
651
- if (options.origin) {
652
- sessionTranscriptOptions = {
653
- type: 'openId4VpDcApi',
654
- clientId: options.audience,
655
- verifierGeneratedNonce: options.nonce,
656
- origin: options.origin,
657
- };
652
+ if (mdocDeviceResponse.documents.length === 0) {
653
+ throw new core_2.CredoError('mdoc device response does not contain any mdocs');
658
654
  }
659
- else {
660
- if (!options.mdocGeneratedNonce || !options.responseUri) {
661
- throw new core_2.CredoError('mdocGeneratedNonce and responseUri are required for mdoc openid4vp session transcript calculation');
655
+ const deviceResponses = mdocDeviceResponse.splitIntoSingleDocumentResponses();
656
+ for (const deviceResponseIndex of deviceResponses.keys()) {
657
+ const mdocDeviceResponse = deviceResponses[deviceResponseIndex];
658
+ const document = mdocDeviceResponse.documents[0];
659
+ const certificateChain = document.issuerSignedCertificateChain.map((cert) => core_2.X509Certificate.fromRawCertificate(cert));
660
+ const trustedCertificates = await x509Config.getTrustedCertificatesForVerification?.(agentContext, {
661
+ certificateChain,
662
+ verification: {
663
+ type: 'credential',
664
+ credential: document,
665
+ openId4VcVerificationSessionId: options.verificationSessionId,
666
+ },
667
+ });
668
+ let sessionTranscriptOptions;
669
+ if (options.origin) {
670
+ sessionTranscriptOptions = {
671
+ type: 'openId4VpDcApi',
672
+ clientId: options.audience,
673
+ verifierGeneratedNonce: options.nonce,
674
+ origin: options.origin,
675
+ };
662
676
  }
663
- sessionTranscriptOptions = {
664
- type: 'openId4Vp',
665
- clientId: options.audience,
666
- mdocGeneratedNonce: options.mdocGeneratedNonce,
667
- responseUri: options.responseUri,
668
- verifierGeneratedNonce: options.nonce,
669
- };
677
+ else {
678
+ if (!options.mdocGeneratedNonce || !options.responseUri) {
679
+ throw new core_2.CredoError('mdocGeneratedNonce and responseUri are required for mdoc openid4vp session transcript calculation');
680
+ }
681
+ sessionTranscriptOptions = {
682
+ type: 'openId4Vp',
683
+ clientId: options.audience,
684
+ mdocGeneratedNonce: options.mdocGeneratedNonce,
685
+ responseUri: options.responseUri,
686
+ verifierGeneratedNonce: options.nonce,
687
+ };
688
+ }
689
+ await mdocDeviceResponse.verify(agentContext, {
690
+ sessionTranscriptOptions,
691
+ trustedCertificates,
692
+ });
670
693
  }
671
- await mdocDeviceResponse.verify(agentContext, {
672
- sessionTranscriptOptions,
673
- trustedCertificates,
674
- });
675
694
  // TODO: extract transaction data hashes once https://github.com/openid/OpenID4VP/pull/330 is resolved
676
695
  isValid = true;
677
696
  verifiablePresentation = mdocDeviceResponse;
@@ -681,29 +700,13 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
681
700
  throw new core_2.CredoError(`Expected vp_token entry for format ${format} to be of type string`);
682
701
  }
683
702
  verifiablePresentation = core_2.W3cJwtVerifiablePresentation.fromSerializedJwt(presentation);
684
- const certificateChain = (0, core_2.extractX509CertificatesFromJwt)(verifiablePresentation.jwt);
685
- let trustedCertificates = undefined;
686
- if (certificateChain && x509Config.getTrustedCertificatesForVerification) {
687
- trustedCertificates = await x509Config.getTrustedCertificatesForVerification?.(agentContext, {
688
- certificateChain,
689
- verification: {
690
- type: 'credential',
691
- credential: verifiablePresentation,
692
- openId4VcVerificationSessionId: options.verificationSessionId,
693
- },
694
- });
695
- }
696
- if (!trustedCertificates) {
697
- trustedCertificates = x509Config.trustedCertificates ?? [];
698
- }
699
703
  const verificationResult = await this.w3cCredentialService.verifyPresentation(agentContext, {
700
704
  presentation,
701
705
  challenge: options.nonce,
702
706
  domain: options.audience,
703
- trustedCertificates,
704
707
  });
705
708
  isValid = verificationResult.isValid;
706
- reason = verificationResult.error?.message;
709
+ cause = verificationResult.error;
707
710
  }
708
711
  else {
709
712
  verifiablePresentation = core_2.JsonTransformer.fromJSON(presentation, core_2.W3cJsonLdVerifiablePresentation);
@@ -713,10 +716,12 @@ let OpenId4VpVerifierService = class OpenId4VpVerifierService {
713
716
  domain: options.audience,
714
717
  });
715
718
  isValid = verificationResult.isValid;
716
- reason = verificationResult.error?.message;
719
+ cause = verificationResult.error;
717
720
  }
718
721
  if (!isValid) {
719
- throw new Error(reason);
722
+ throw new core_2.CredoError(`Error occured during verification of presentation.${cause ? ` ${cause.message}` : ''}`, {
723
+ cause,
724
+ });
720
725
  }
721
726
  return {
722
727
  verified: true,
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VpVerifierService.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VpVerifierService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenId4VpVerifierService.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VpVerifierService.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { DcqlPresentation, DcqlPresentationResult, DcqlQuery, DifPexPresentationWithDescriptor, DifPresentationExchangeDefinition, DifPresentationExchangeDefinitionV2, DifPresentationExchangeSubmission, HashName, VerifiablePresentation } from '@credo-ts/core';
2
- import type { TransactionDataEntry, createOpenid4vpAuthorizationRequest } from '@openid4vc/openid4vp';
2
+ import type { TransactionDataEntry, VerifierAttestations, createOpenid4vpAuthorizationRequest } from '@openid4vc/openid4vp';
3
3
  import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuerDid } from '../shared';
4
4
  import type { OpenId4VcVerificationSessionRecord, OpenId4VcVerifierRecordProps } from './repository';
5
5
  export type ResponseMode = 'direct_post' | 'direct_post.jwt' | 'dc_api' | 'dc_api.jwt';
@@ -18,6 +18,12 @@ export interface OpenId4VpCreateAuthorizationRequestOptions {
18
18
  * Transaction data entries that need to be hashes and signed over by a specific credential
19
19
  */
20
20
  transactionData?: TransactionDataEntry[];
21
+ /**
22
+ *
23
+ * Verifier Attestations allow the Verifier to provide additional context or metadata as part of the Authorization Request attested by a trusted third party. These inputs can support a variety of use cases, such as helping the Wallet apply policy decisions, validating eligibility, or presenting more meaningful information to the End-User during consent.
24
+ *
25
+ */
26
+ verifierAttestations?: VerifierAttestations;
21
27
  /**
22
28
  * A DIF Presentation Definition (v2) can be provided to request a Verifiable Presentation using OpenID4VP.
23
29
  */
@@ -1,8 +1,9 @@
1
- import type { AgentContext } from '@credo-ts/core';
1
+ import { AgentContext, Kms } from '@credo-ts/core';
2
2
  import type { ClientAuthenticationCallback, DecryptJweCallback, EncryptJweCallback, SignJwtCallback, VerifyJwtCallback } from '@openid4vc/oauth2';
3
3
  import type { OpenId4VcIssuerRecord } from '../openid4vc-issuer/repository';
4
4
  export declare function getOid4vcJwtVerifyCallback(agentContext: AgentContext, options?: {
5
5
  trustedCertificates?: string[];
6
+ issuanceSessionId?: string;
6
7
  /**
7
8
  * Whether this verification callback should assume a JAR authorization is verified
8
9
  * Starting from OID4VP draft 24 the JAR must use oauth-authz-req+jwt header typ
@@ -17,11 +18,12 @@ export declare function getOid4vcJwtSignCallback(agentContext: AgentContext): Si
17
18
  export declare function getOid4vcCallbacks(agentContext: AgentContext, options?: {
18
19
  trustedCertificates?: string[];
19
20
  isVerifyOpenId4VpAuthorizationRequest?: boolean;
21
+ issuanceSessionId?: string;
20
22
  }): {
21
- hash: (data: Uint8Array, alg: import("@openid4vc/oauth2").HashAlgorithm) => Uint8Array;
22
- generateRandom: (length: number) => Uint8Array;
23
+ hash: (data: Uint8Array<ArrayBufferLike>, alg: import("@openid4vc/oauth2").HashAlgorithm) => Uint8Array<ArrayBufferLike>;
24
+ generateRandom: (length: number) => Kms.KmsRandomBytesReturn;
23
25
  signJwt: SignJwtCallback;
24
- clientAuthentication: () => void;
26
+ clientAuthentication: () => never;
25
27
  verifyJwt: VerifyJwtCallback;
26
28
  fetch: typeof fetch;
27
29
  encryptJwe: EncryptJweCallback;