@sphereon/ssi-sdk-ext.key-utils 0.24.0 → 0.24.1-next.100

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 (41) hide show
  1. package/dist/functions.d.ts +14 -1
  2. package/dist/functions.d.ts.map +1 -1
  3. package/dist/functions.js +181 -18
  4. package/dist/functions.js.map +1 -1
  5. package/dist/index.d.ts +0 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +0 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/jwk-jcs.d.ts +28 -1
  10. package/dist/jwk-jcs.d.ts.map +1 -1
  11. package/dist/jwk-jcs.js +2 -1
  12. package/dist/jwk-jcs.js.map +1 -1
  13. package/dist/types/key-util-types.d.ts +33 -9
  14. package/dist/types/key-util-types.d.ts.map +1 -1
  15. package/dist/types/key-util-types.js +16 -6
  16. package/dist/types/key-util-types.js.map +1 -1
  17. package/package.json +6 -3
  18. package/src/functions.ts +207 -13
  19. package/src/index.ts +0 -2
  20. package/src/jwk-jcs.ts +1 -2
  21. package/src/types/key-util-types.ts +40 -9
  22. package/dist/x509/index.d.ts +0 -4
  23. package/dist/x509/index.d.ts.map +0 -1
  24. package/dist/x509/index.js +0 -20
  25. package/dist/x509/index.js.map +0 -1
  26. package/dist/x509/rsa-key.d.ts +0 -11
  27. package/dist/x509/rsa-key.d.ts.map +0 -1
  28. package/dist/x509/rsa-key.js +0 -101
  29. package/dist/x509/rsa-key.js.map +0 -1
  30. package/dist/x509/rsa-signer.d.ts +0 -25
  31. package/dist/x509/rsa-signer.d.ts.map +0 -1
  32. package/dist/x509/rsa-signer.js +0 -105
  33. package/dist/x509/rsa-signer.js.map +0 -1
  34. package/dist/x509/x509-utils.d.ts +0 -25
  35. package/dist/x509/x509-utils.d.ts.map +0 -1
  36. package/dist/x509/x509-utils.js +0 -176
  37. package/dist/x509/x509-utils.js.map +0 -1
  38. package/src/x509/index.ts +0 -3
  39. package/src/x509/rsa-key.ts +0 -81
  40. package/src/x509/rsa-signer.ts +0 -81
  41. package/src/x509/x509-utils.ts +0 -145
@@ -1,5 +1,6 @@
1
1
  import { IAgentContext, IKey, IKeyManager, ManagedKeyInfo, MinimalImportableKey } from '@veramo/core';
2
- import { IImportProvidedOrGeneratedKeyArgs, JWK, JwkKeyUse, TKeyType } from './types';
2
+ import { IImportProvidedOrGeneratedKeyArgs, JWK, JwkKeyUse, KeyTypeFromCryptographicSuiteArgs, SignatureAlgorithmFromKeyArgs, SignatureAlgorithmFromKeyTypeArgs, SignatureAlgorithmJwa, TKeyType } from './types';
3
+ export declare const logger: import("@sphereon/ssi-types").ISimpleLogger<unknown>;
3
4
  /**
4
5
  * Generates a random Private Hex Key for the specified key type
5
6
  * @param type The key type
@@ -29,6 +30,10 @@ export declare const calculateJwkThumbprint: (args: {
29
30
  jwk: JWK;
30
31
  digestAlgorithm?: 'sha256' | 'sha512';
31
32
  }) => string;
33
+ export declare const toJwkFromKey: (key: IKey | MinimalImportableKey | ManagedKeyInfo, opts?: {
34
+ use?: JwkKeyUse;
35
+ noKidThumbprint?: boolean;
36
+ }) => JWK;
32
37
  /**
33
38
  * Converts a public key in hex format to a JWK
34
39
  * @param publicKeyHex public key in hex
@@ -54,4 +59,12 @@ export declare const padLeft: (args: {
54
59
  size?: number;
55
60
  padString?: string;
56
61
  }) => string;
62
+ export declare const isAsn1Der: (key: Uint8Array) => boolean;
63
+ export declare const asn1DerToRawPublicKey: (derKey: Uint8Array, keyType: TKeyType) => Uint8Array;
64
+ export declare const isRawCompressedPublicKey: (key: Uint8Array) => boolean;
65
+ export declare const toRawCompressedHexPublicKey: (rawPublicKey: Uint8Array, keyType: TKeyType) => string;
66
+ export declare const hexStringFromUint8Array: (value: Uint8Array) => string;
67
+ export declare const signatureAlgorithmFromKey: (args: SignatureAlgorithmFromKeyArgs) => Promise<SignatureAlgorithmJwa>;
68
+ export declare const signatureAlgorithmFromKeyType: (args: SignatureAlgorithmFromKeyTypeArgs) => SignatureAlgorithmJwa;
69
+ export declare const keyTypeFromCryptographicSuite: (args: KeyTypeFromCryptographicSuiteArgs) => TKeyType;
57
70
  //# sourceMappingURL=functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAOrG,OAAO,EAAgB,iCAAiC,EAAE,GAAG,EAAE,SAAS,EAAmC,QAAQ,EAAE,MAAM,SAAS,CAAA;AAIpI;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAgB,QAAQ,KAAG,QAAQ,MAAM,CAmB1E,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iCAAiC,GAAG;IACxC,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,eAAO,MAAM,4BAA4B,SAAU;IACjD,GAAG,EAAE,IAAI,GAAG,oBAAoB,GAAG,cAAc,CAAA;IACjD,eAAe,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CACtC,KAAG,MAYH,CAAA;AAOD,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAA0D,CAAA;AAEtG;;;GAGG;AACH,eAAO,MAAM,sBAAsB,SAAU;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,KAAG,MAgClG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,iBACF,MAAM,QACd,QAAQ,SACP;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,GAAG,oBAAoB,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,KAC/G,GA6BF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SAAU,QAAQ,gBAAgB,SAAS,KAAG,SAAS,GAAG,SAQrF,CAAA;AAyHD,eAAO,MAAM,OAAO,SAAU;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MAanF,CAAA"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAMrG,OAAO,EAEL,iCAAiC,EACjC,GAAG,EACH,SAAS,EAGT,iCAAiC,EAEjC,6BAA6B,EAC7B,iCAAiC,EACjC,qBAAqB,EACrB,QAAQ,EACT,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,MAAM,sDAA4C,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAgB,QAAQ,KAAG,QAAQ,MAAM,CAmB1E,CAAA;AAmBD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iCAAiC,GAAG;IACxC,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED,eAAO,MAAM,4BAA4B,SAAU;IACjD,GAAG,EAAE,IAAI,GAAG,oBAAoB,GAAG,cAAc,CAAA;IACjD,eAAe,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CACtC,KAAG,MAYH,CAAA;AAOD,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAA0D,CAAA;AAEtG;;;GAGG;AACH,eAAO,MAAM,sBAAsB,SAAU;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,KAAG,MAgClG,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,IAAI,GAAG,oBAAoB,GAAG,cAAc,SAAS;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,GAGvI,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,iBACF,MAAM,QACd,QAAQ,SACP;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,GAAG,oBAAoB,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,KAC/G,GA6BF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SAAU,QAAQ,gBAAgB,SAAS,KAAG,SAAS,GAAG,SAQrF,CAAA;AAyHD,eAAO,MAAM,OAAO,SAAU;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MAanF,CAAA;AAgDD,eAAO,MAAM,SAAS,QAAS,UAAU,KAAG,OAA0B,CAAA;AAEtE,eAAO,MAAM,qBAAqB,WAAY,UAAU,WAAW,QAAQ,KAAG,UAiC7E,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAS,UAAU,KAAG,OAAoE,CAAA;AAE/H,eAAO,MAAM,2BAA2B,iBAAkB,UAAU,WAAW,QAAQ,KAAG,MAqBzF,CAAA;AAED,eAAO,MAAM,uBAAuB,UAAW,UAAU,KAAG,MAAuC,CAAA;AAEnG,eAAO,MAAM,yBAAyB,SAAgB,6BAA6B,KAAG,QAAQ,qBAAqB,CAGlH,CAAA;AAED,eAAO,MAAM,6BAA6B,SAAU,iCAAiC,KAAG,qBAavF,CAAA;AAGD,eAAO,MAAM,6BAA6B,SAAU,iCAAiC,KAAG,QAiBvF,CAAA"}
package/dist/functions.js CHANGED
@@ -35,16 +35,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.padLeft = exports.jwkDetermineUse = exports.toJwk = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.importProvidedOrGeneratedKey = exports.generatePrivateKeyHex = void 0;
38
+ exports.keyTypeFromCryptographicSuite = exports.signatureAlgorithmFromKeyType = exports.signatureAlgorithmFromKey = exports.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.toJwk = exports.toJwkFromKey = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.importProvidedOrGeneratedKey = exports.generatePrivateKeyHex = exports.logger = void 0;
39
39
  const random_1 = require("@ethersproject/random");
40
+ const ssi_sdk_ext_x509_utils_1 = require("@sphereon/ssi-sdk-ext.x509-utils");
41
+ const ssi_types_1 = require("@sphereon/ssi-types");
40
42
  const ed25519_1 = require("@stablelib/ed25519");
41
- const debug_1 = __importDefault(require("debug"));
42
43
  const elliptic_1 = __importDefault(require("elliptic"));
43
44
  const u8a = __importStar(require("uint8arrays"));
44
45
  const digest_methods_1 = require("./digest-methods");
45
46
  const types_1 = require("./types");
46
- const x509_1 = require("./x509");
47
- const debug = (0, debug_1.default)('sphereon:kms:local');
47
+ exports.logger = ssi_types_1.Loggers.DEFAULT.get('sphereon:key-utils');
48
48
  /**
49
49
  * Generates a random Private Hex Key for the specified key type
50
50
  * @param type The key type
@@ -63,14 +63,30 @@ const generatePrivateKeyHex = (type) => __awaiter(void 0, void 0, void 0, functi
63
63
  return u8a.toString(privateBytes, 'base16');
64
64
  }
65
65
  case 'RSA': {
66
- const pem = yield (0, x509_1.generateRSAKeyAsPEM)('RSA-PSS', 'SHA-256', 2048);
67
- return (0, x509_1.privateKeyHexFromPEM)(pem);
66
+ const pem = yield (0, ssi_sdk_ext_x509_utils_1.generateRSAKeyAsPEM)('RSA-PSS', 'SHA-256', 2048);
67
+ return (0, ssi_sdk_ext_x509_utils_1.privateKeyHexFromPEM)(pem);
68
68
  }
69
69
  default:
70
70
  throw Error(`not_supported: Key type ${type} not yet supported for this did:jwk implementation`);
71
71
  }
72
72
  });
73
73
  exports.generatePrivateKeyHex = generatePrivateKeyHex;
74
+ const keyMetaAlgorithmsFromKeyType = (type) => {
75
+ switch (type) {
76
+ case 'Ed25519':
77
+ return ['Ed25519', 'EdDSA'];
78
+ case 'ES256K':
79
+ case 'Secp256k1':
80
+ return ['ES256K', 'ES256K-R', 'eth_signTransaction', 'eth_signTypedData', 'eth_signMessage', 'eth_rawSign'];
81
+ case 'Secp256r1':
82
+ return ['ES256'];
83
+ case 'X25519':
84
+ return ['ECDH', 'ECDH-ES', 'ECDH-1PU'];
85
+ case 'RSA':
86
+ return ['RS256', 'RS512', 'PS256', 'PS512'];
87
+ }
88
+ return [type];
89
+ };
74
90
  /**
75
91
  * We optionally generate and then import our own keys.
76
92
  *
@@ -96,13 +112,17 @@ function importProvidedOrGeneratedKey(args, context) {
96
112
  privateKeyHex = (_m = key.privateKeyHex) !== null && _m !== void 0 ? _m : (_p = (_o = key.meta) === null || _o === void 0 ? void 0 : _o.x509) === null || _p === void 0 ? void 0 : _p.privateKeyHex;
97
113
  if ((!privateKeyHex || privateKeyHex.trim() === '') && ((_r = (_q = key === null || key === void 0 ? void 0 : key.meta) === null || _q === void 0 ? void 0 : _q.x509) === null || _r === void 0 ? void 0 : _r.privateKeyPEM)) {
98
114
  // If we do not have a privateKeyHex but do have a PEM
99
- privateKeyHex = (0, x509_1.privateKeyHexFromPEM)(key.meta.x509.privateKeyPEM);
115
+ privateKeyHex = (0, ssi_sdk_ext_x509_utils_1.privateKeyHexFromPEM)(key.meta.x509.privateKeyPEM);
100
116
  }
101
117
  }
102
- if (!privateKeyHex) {
103
- privateKeyHex = yield (0, exports.generatePrivateKeyHex)(type);
118
+ if (privateKeyHex) {
119
+ return context.agent.keyManagerImport(Object.assign(Object.assign({}, key), { kms: args.kms, type, privateKeyHex: privateKeyHex }));
104
120
  }
105
- return context.agent.keyManagerImport(Object.assign(Object.assign({}, key), { kms: args.kms, type, privateKeyHex: privateKeyHex }));
121
+ return context.agent.keyManagerCreate({
122
+ type,
123
+ kms: args.kms,
124
+ meta: Object.assign(Object.assign({}, key === null || key === void 0 ? void 0 : key.meta), { algorithms: keyMetaAlgorithmsFromKeyType(type), keyAlias: args.alias }),
125
+ });
106
126
  });
107
127
  }
108
128
  exports.importProvidedOrGeneratedKey = importProvidedOrGeneratedKey;
@@ -163,6 +183,11 @@ const calculateJwkThumbprint = (args) => {
163
183
  : (0, digest_methods_1.digestMethodParams)('SHA-256').digestMethod(data, 'base64url');
164
184
  };
165
185
  exports.calculateJwkThumbprint = calculateJwkThumbprint;
186
+ const toJwkFromKey = (key, opts) => {
187
+ const isPrivateKey = 'privateKeyHex' in key;
188
+ return (0, exports.toJwk)(key.publicKeyHex, key.type, Object.assign(Object.assign({}, opts), { key, isPrivateKey }));
189
+ };
190
+ exports.toJwkFromKey = toJwkFromKey;
166
191
  /**
167
192
  * Converts a public key in hex format to a JWK
168
193
  * @param publicKeyHex public key in hex
@@ -241,7 +266,7 @@ const assertProperKeyLength = (keyHex, expectedKeyLength) => {
241
266
  */
242
267
  const toSecp256k1Jwk = (keyHex, opts) => {
243
268
  const { use } = opts !== null && opts !== void 0 ? opts : {};
244
- debug(`toSecp256k1Jwk keyHex: ${keyHex}, length: ${keyHex.length}`);
269
+ exports.logger.debug(`toSecp256k1Jwk keyHex: ${keyHex}, length: ${keyHex.length}`);
245
270
  if (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) {
246
271
  assertProperKeyLength(keyHex, [64]);
247
272
  }
@@ -252,7 +277,7 @@ const toSecp256k1Jwk = (keyHex, opts) => {
252
277
  const keyBytes = u8a.fromString(keyHex, 'base16');
253
278
  const keyPair = (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) ? secp256k1.keyFromPrivate(keyBytes) : secp256k1.keyFromPublic(keyBytes);
254
279
  const pubPoint = keyPair.getPublic();
255
- return Object.assign(Object.assign(Object.assign({ alg: 'ES256K' }, (use !== undefined && { use })), { kty: types_1.KeyType.EC, crv: types_1.KeyCurve.Secp256k1, x: (0, x509_1.hexToBase64)(pubPoint.getX().toString('hex'), 'base64url'), y: (0, x509_1.hexToBase64)(pubPoint.getY().toString('hex'), 'base64url') }), ((opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) && { d: (0, x509_1.hexToBase64)(keyPair.getPrivate('hex'), 'base64url') }));
280
+ return Object.assign(Object.assign(Object.assign({ alg: 'ES256K' }, (use !== undefined && { use })), { kty: types_1.KeyType.EC, crv: types_1.KeyCurve.Secp256k1, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(pubPoint.getX().toString('hex'), 'base64url'), y: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(pubPoint.getY().toString('hex'), 'base64url') }), ((opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) && { d: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(keyPair.getPrivate('hex'), 'base64url') }));
256
281
  };
257
282
  /**
258
283
  * Generates a JWK from a Secp256r1 public key
@@ -262,7 +287,7 @@ const toSecp256k1Jwk = (keyHex, opts) => {
262
287
  */
263
288
  const toSecp256r1Jwk = (keyHex, opts) => {
264
289
  const { use } = opts !== null && opts !== void 0 ? opts : {};
265
- debug(`toSecp256r1Jwk keyHex: ${keyHex}, length: ${keyHex.length}`);
290
+ exports.logger.debug(`toSecp256r1Jwk keyHex: ${keyHex}, length: ${keyHex.length}`);
266
291
  if (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) {
267
292
  assertProperKeyLength(keyHex, [64]);
268
293
  }
@@ -271,10 +296,10 @@ const toSecp256r1Jwk = (keyHex, opts) => {
271
296
  }
272
297
  const secp256r1 = new elliptic_1.default.ec('p256');
273
298
  const keyBytes = u8a.fromString(keyHex, 'base16');
274
- debug(`keyBytes length: ${keyBytes}`);
299
+ exports.logger.debug(`keyBytes length: ${keyBytes}`);
275
300
  const keyPair = (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) ? secp256r1.keyFromPrivate(keyBytes) : secp256r1.keyFromPublic(keyBytes);
276
301
  const pubPoint = keyPair.getPublic();
277
- return Object.assign(Object.assign(Object.assign({ alg: 'ES256' }, (use !== undefined && { use })), { kty: types_1.KeyType.EC, crv: types_1.KeyCurve.P_256, x: (0, x509_1.hexToBase64)(pubPoint.getX().toString('hex'), 'base64url'), y: (0, x509_1.hexToBase64)(pubPoint.getY().toString('hex'), 'base64url') }), ((opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) && { d: (0, x509_1.hexToBase64)(keyPair.getPrivate('hex'), 'base64url') }));
302
+ return Object.assign(Object.assign(Object.assign({ alg: 'ES256' }, (use !== undefined && { use })), { kty: types_1.KeyType.EC, crv: types_1.KeyCurve.P_256, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(pubPoint.getX().toString('hex'), 'base64url'), y: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(pubPoint.getY().toString('hex'), 'base64url') }), ((opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) && { d: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(keyPair.getPrivate('hex'), 'base64url') }));
278
303
  };
279
304
  /**
280
305
  * Generates a JWK from an Ed25519/X25519 public key
@@ -286,7 +311,7 @@ const toEd25519OrX25519Jwk = (publicKeyHex, opts) => {
286
311
  var _a;
287
312
  assertProperKeyLength(publicKeyHex, 64);
288
313
  const { use } = opts !== null && opts !== void 0 ? opts : {};
289
- return Object.assign(Object.assign({ alg: 'EdDSA' }, (use !== undefined && { use })), { kty: types_1.KeyType.OKP, crv: (_a = opts === null || opts === void 0 ? void 0 : opts.crv) !== null && _a !== void 0 ? _a : types_1.KeyCurve.Ed25519, x: (0, x509_1.hexToBase64)(publicKeyHex, 'base64url') });
314
+ return Object.assign(Object.assign({ alg: 'EdDSA' }, (use !== undefined && { use })), { kty: types_1.KeyType.OKP, crv: (_a = opts === null || opts === void 0 ? void 0 : opts.crv) !== null && _a !== void 0 ? _a : types_1.KeyCurve.Ed25519, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(publicKeyHex, 'base64url') });
290
315
  };
291
316
  const toRSAJwk = (publicKeyHex, opts) => {
292
317
  var _a, _b, _c;
@@ -296,8 +321,8 @@ const toRSAJwk = (publicKeyHex, opts) => {
296
321
  if ((_a = key === null || key === void 0 ? void 0 : key.meta) === null || _a === void 0 ? void 0 : _a.publicKeyJwk) {
297
322
  return key.meta.publicKeyJwk;
298
323
  }
299
- const publicKeyPEM = (_c = (_b = key === null || key === void 0 ? void 0 : key.meta) === null || _b === void 0 ? void 0 : _b.publicKeyPEM) !== null && _c !== void 0 ? _c : (0, x509_1.hexToPEM)(publicKeyHex, 'public');
300
- return (0, x509_1.PEMToJwk)(publicKeyPEM, 'public');
324
+ const publicKeyPEM = (_c = (_b = key === null || key === void 0 ? void 0 : key.meta) === null || _b === void 0 ? void 0 : _b.publicKeyPEM) !== null && _c !== void 0 ? _c : (0, ssi_sdk_ext_x509_utils_1.hexToPEM)(publicKeyHex, 'public');
325
+ return (0, ssi_sdk_ext_x509_utils_1.PEMToJwk)(publicKeyPEM, 'public');
301
326
  };
302
327
  const padLeft = (args) => {
303
328
  var _a, _b;
@@ -314,4 +339,142 @@ const padLeft = (args) => {
314
339
  return padString.repeat((size - data.length) / length) + data;
315
340
  };
316
341
  exports.padLeft = padLeft;
342
+ var OIDType;
343
+ (function (OIDType) {
344
+ OIDType[OIDType["Secp256k1"] = 0] = "Secp256k1";
345
+ OIDType[OIDType["Secp256r1"] = 1] = "Secp256r1";
346
+ OIDType[OIDType["Ed25519"] = 2] = "Ed25519";
347
+ })(OIDType || (OIDType = {}));
348
+ const OID = {
349
+ [OIDType.Secp256k1]: new Uint8Array([0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01]),
350
+ [OIDType.Secp256r1]: new Uint8Array([0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07]),
351
+ [OIDType.Ed25519]: new Uint8Array([0x06, 0x03, 0x2b, 0x65, 0x70]),
352
+ };
353
+ const compareUint8Arrays = (a, b) => {
354
+ if (a.length !== b.length) {
355
+ return false;
356
+ }
357
+ for (let i = 0; i < a.length; i++) {
358
+ if (a[i] !== b[i]) {
359
+ return false;
360
+ }
361
+ }
362
+ return true;
363
+ };
364
+ const findSubarray = (haystack, needle) => {
365
+ for (let i = 0; i <= haystack.length - needle.length; i++) {
366
+ if (compareUint8Arrays(haystack.subarray(i, i + needle.length), needle)) {
367
+ return i;
368
+ }
369
+ }
370
+ return -1;
371
+ };
372
+ const getTargetOID = (keyType) => {
373
+ switch (keyType) {
374
+ case 'Secp256k1':
375
+ return OID[OIDType.Secp256k1];
376
+ case 'Secp256r1':
377
+ return OID[OIDType.Secp256r1];
378
+ case 'Ed25519':
379
+ return OID[OIDType.Ed25519];
380
+ default:
381
+ throw new Error(`Unsupported key type: ${keyType}`);
382
+ }
383
+ };
384
+ const isAsn1Der = (key) => key[0] === 0x30;
385
+ exports.isAsn1Der = isAsn1Der;
386
+ const asn1DerToRawPublicKey = (derKey, keyType) => {
387
+ if (!(0, exports.isAsn1Der)(derKey)) {
388
+ throw new Error('Invalid DER encoding: Expected to start with sequence tag');
389
+ }
390
+ let index = 2;
391
+ if (derKey[1] & 0x80) {
392
+ const lengthBytesCount = derKey[1] & 0x7f;
393
+ index += lengthBytesCount;
394
+ }
395
+ const targetOid = getTargetOID(keyType);
396
+ const oidIndex = findSubarray(derKey, targetOid);
397
+ if (oidIndex === -1) {
398
+ throw new Error(`OID for ${keyType} not found in DER encoding`);
399
+ }
400
+ index = oidIndex + targetOid.length;
401
+ while (index < derKey.length && derKey[index] !== 0x03) {
402
+ index++;
403
+ }
404
+ if (index >= derKey.length) {
405
+ throw new Error('Invalid DER encoding: Bit string not found');
406
+ }
407
+ // Skip the bit string tag (0x03) and length byte
408
+ index += 2;
409
+ // Skip the unused bits count byte
410
+ index++;
411
+ return derKey.slice(index);
412
+ };
413
+ exports.asn1DerToRawPublicKey = asn1DerToRawPublicKey;
414
+ const isRawCompressedPublicKey = (key) => key.length === 33 && (key[0] === 0x02 || key[0] === 0x03);
415
+ exports.isRawCompressedPublicKey = isRawCompressedPublicKey;
416
+ const toRawCompressedHexPublicKey = (rawPublicKey, keyType) => {
417
+ if ((0, exports.isRawCompressedPublicKey)(rawPublicKey)) {
418
+ throw new Error('Invalid public key format, an uncompressed raw public key is required as input, not a raw');
419
+ }
420
+ if (keyType === 'Secp256k1' || keyType === 'Secp256r1') {
421
+ if (rawPublicKey[0] === 0x04 && rawPublicKey.length === 65) {
422
+ const xCoordinate = rawPublicKey.slice(1, 33);
423
+ const yCoordinate = rawPublicKey.slice(33);
424
+ const prefix = new Uint8Array([yCoordinate[31] % 2 === 0 ? 0x02 : 0x03]);
425
+ const resultKey = (0, exports.hexStringFromUint8Array)(new Uint8Array([...prefix, ...xCoordinate]));
426
+ exports.logger.debug(`converted public key ${(0, exports.hexStringFromUint8Array)(rawPublicKey)} to ${resultKey}`);
427
+ return resultKey;
428
+ }
429
+ return u8a.toString(rawPublicKey, 'base16');
430
+ }
431
+ else if (keyType === 'Ed25519') {
432
+ // Ed25519 keys are always in compressed form
433
+ return u8a.toString(rawPublicKey, 'base16');
434
+ }
435
+ throw new Error(`Unsupported key type: ${keyType}`);
436
+ };
437
+ exports.toRawCompressedHexPublicKey = toRawCompressedHexPublicKey;
438
+ const hexStringFromUint8Array = (value) => u8a.toString(value, 'base16');
439
+ exports.hexStringFromUint8Array = hexStringFromUint8Array;
440
+ const signatureAlgorithmFromKey = (args) => __awaiter(void 0, void 0, void 0, function* () {
441
+ const { key } = args;
442
+ return (0, exports.signatureAlgorithmFromKeyType)({ type: key.type });
443
+ });
444
+ exports.signatureAlgorithmFromKey = signatureAlgorithmFromKey;
445
+ const signatureAlgorithmFromKeyType = (args) => {
446
+ const { type } = args;
447
+ switch (type) {
448
+ case 'Ed25519':
449
+ case 'X25519':
450
+ return types_1.SignatureAlgorithmJwa.EdDSA;
451
+ case 'Secp256r1':
452
+ return types_1.SignatureAlgorithmJwa.ES256;
453
+ case 'Secp256k1':
454
+ return types_1.SignatureAlgorithmJwa.ES256K;
455
+ default:
456
+ throw new Error(`Key type '${type}' not supported`);
457
+ }
458
+ };
459
+ exports.signatureAlgorithmFromKeyType = signatureAlgorithmFromKeyType;
460
+ // TODO improve this conversion for jwt and jsonld, not a fan of current structure
461
+ const keyTypeFromCryptographicSuite = (args) => {
462
+ const { suite } = args;
463
+ switch (suite) {
464
+ case 'EdDSA':
465
+ case 'Ed25519Signature2018':
466
+ case 'Ed25519Signature2020':
467
+ case 'JcsEd25519Signature2020':
468
+ return 'Ed25519';
469
+ case 'JsonWebSignature2020':
470
+ case 'ES256':
471
+ return 'Secp256r1';
472
+ case 'EcdsaSecp256k1Signature2019':
473
+ case 'ES256K':
474
+ return 'Secp256k1';
475
+ default:
476
+ throw new Error(`Cryptographic suite '${suite}' not supported`);
477
+ }
478
+ };
479
+ exports.keyTypeFromCryptographicSuite = keyTypeFromCryptographicSuite;
317
480
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,10 +4,8 @@
4
4
  *
5
5
  * @packageDocumentation
6
6
  */
7
- export * from './x509';
8
7
  export * from './functions';
9
8
  export * from './jwk-jcs';
10
9
  export * from './types';
11
- export * from './x509/x509-utils';
12
10
  export * from './digest-methods';
13
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -20,10 +20,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  *
21
21
  * @packageDocumentation
22
22
  */
23
- __exportStar(require("./x509"), exports);
24
23
  __exportStar(require("./functions"), exports);
25
24
  __exportStar(require("./jwk-jcs"), exports);
26
25
  __exportStar(require("./types"), exports);
27
- __exportStar(require("./x509/x509-utils"), exports);
28
26
  __exportStar(require("./digest-methods"), exports);
29
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,yCAAsB;AACtB,8CAA2B;AAC3B,4CAAyB;AACzB,0CAAuB;AACvB,oDAAiC;AACjC,mDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,8CAA2B;AAC3B,4CAAyB;AACzB,0CAAuB;AACvB,mDAAgC"}
package/dist/jwk-jcs.d.ts CHANGED
@@ -1,5 +1,32 @@
1
1
  import type { ByteView } from 'multiformats/codecs/interface';
2
- import type { JsonWebKey } from 'did-resolver';
2
+ /**
3
+ * Extracts the required members of the JWK and canonicalizes it.
4
+ *
5
+ * @param jwk - The JWK to canonicalize.
6
+ * @returns The JWK with only the required members, ordered lexicographically.
7
+ */
8
+ export declare function minimalJwk(jwk: any): {
9
+ crv: any;
10
+ kty: any;
11
+ x: any;
12
+ y: any;
13
+ e?: undefined;
14
+ n?: undefined;
15
+ } | {
16
+ crv: any;
17
+ kty: any;
18
+ x: any;
19
+ y?: undefined;
20
+ e?: undefined;
21
+ n?: undefined;
22
+ } | {
23
+ e: any;
24
+ kty: any;
25
+ n: any;
26
+ crv?: undefined;
27
+ x?: undefined;
28
+ y?: undefined;
29
+ };
3
30
  /**
4
31
  * Encodes a JWK into a Uint8Array. Only the required JWK members are encoded.
5
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"jwk-jcs.d.ts","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAuF9C;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAOpE;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,UAsD1C"}
1
+ {"version":3,"file":"jwk-jcs.d.ts","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAmE7D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;EAYlC;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAOpE;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,UAsD1C"}
package/dist/jwk-jcs.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.jcsCanonicalize = exports.jwkJcsDecode = exports.jwkJcsEncode = void 0;
6
+ exports.jcsCanonicalize = exports.jwkJcsDecode = exports.jwkJcsEncode = exports.minimalJwk = void 0;
7
7
  const web_encoding_1 = require("web-encoding");
8
8
  const lodash_isplainobject_1 = __importDefault(require("lodash.isplainobject"));
9
9
  const textEncoder = new web_encoding_1.TextEncoder();
@@ -86,6 +86,7 @@ function minimalJwk(jwk) {
86
86
  }
87
87
  throw Error(`Unsupported key type (kty) provided: ${jwk.kty}`);
88
88
  }
89
+ exports.minimalJwk = minimalJwk;
89
90
  /**
90
91
  * Encodes a JWK into a Uint8Array. Only the required JWK members are encoded.
91
92
  *
@@ -1 +1 @@
1
- {"version":3,"file":"jwk-jcs.js","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwk-jcs.js","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MinimalImportableKey } from '@veramo/core';
1
+ import { IKey, MinimalImportableKey } from '@veramo/core';
2
2
  export declare const JWK_JCS_PUB_NAME: "jwk_jcs-pub";
3
3
  export declare const JWK_JCS_PUB_PREFIX = 60241;
4
4
  export type TKeyType = 'Ed25519' | 'Secp256k1' | 'Secp256r1' | 'X25519' | 'Bls12381G1' | 'Bls12381G2' | 'RSA';
@@ -24,19 +24,27 @@ export declare enum KeyType {
24
24
  }
25
25
  export declare const SIG_KEY_ALGS: string[];
26
26
  export declare const ENC_KEY_ALGS: string[];
27
- export interface JWK {
28
- alg?: string;
29
- crv?: string;
27
+ export declare enum SignatureAlgorithmJwa {
28
+ EdDSA = "EdDSA",
29
+ ES256 = "ES256",
30
+ ES384 = "ES384",
31
+ ES512 = "ES512",
32
+ ES256K = "ES256K",
33
+ RS256 = "RS256",
34
+ RS384 = "RS384",
35
+ RS512 = "RS512",
36
+ PS256 = "PS256",
37
+ PS384 = "PS384",
38
+ PS512 = "PS512"
39
+ }
40
+ export interface JWK extends BaseJWK {
30
41
  d?: string;
31
42
  dp?: string;
32
43
  dq?: string;
33
- e?: string;
34
44
  ext?: boolean;
35
45
  k?: string;
36
46
  key_ops?: string[];
37
47
  kid?: string;
38
- kty?: string;
39
- n?: string;
40
48
  oth?: Array<{
41
49
  d?: string;
42
50
  r?: string;
@@ -46,8 +54,6 @@ export interface JWK {
46
54
  q?: string;
47
55
  qi?: string;
48
56
  use?: string;
49
- x?: string;
50
- y?: string;
51
57
  /** JWK "x5c" (X.509 Certificate Chain) Parameter. */
52
58
  x5c?: string[];
53
59
  /** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
@@ -58,6 +64,14 @@ export interface JWK {
58
64
  x5u?: string;
59
65
  [propName: string]: unknown;
60
66
  }
67
+ export interface BaseJWK {
68
+ kty: string;
69
+ crv?: string;
70
+ x?: string;
71
+ y?: string;
72
+ e?: string;
73
+ n?: string;
74
+ }
61
75
  export type KeyVisibility = 'public' | 'private';
62
76
  export interface X509Opts {
63
77
  cn?: string;
@@ -68,6 +82,7 @@ export interface X509Opts {
68
82
  }
69
83
  export interface IImportProvidedOrGeneratedKeyArgs {
70
84
  kms?: string;
85
+ alias?: string;
71
86
  options?: IKeyOpts;
72
87
  }
73
88
  export interface IKeyOpts {
@@ -76,4 +91,13 @@ export interface IKeyOpts {
76
91
  use?: JwkKeyUse;
77
92
  x509?: X509Opts;
78
93
  }
94
+ export type SignatureAlgorithmFromKeyArgs = {
95
+ key: IKey;
96
+ };
97
+ export type SignatureAlgorithmFromKeyTypeArgs = {
98
+ type: TKeyType;
99
+ };
100
+ export type KeyTypeFromCryptographicSuiteArgs = {
101
+ suite: string;
102
+ };
79
103
  //# sourceMappingURL=key-util-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-util-types.d.ts","sourceRoot":"","sources":["../../src/types/key-util-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,eAAO,MAAM,gBAAgB,eAAyB,CAAA;AACtD,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAExC,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,KAAK,CAAA;AAE7G,oBAAY,GAAG;IACb,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,SAAS;IACnB,UAAU,QAAQ;IAClB,SAAS,QAAQ;CAClB;AAED,oBAAY,QAAQ;IAClB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,oBAAY,OAAO;IACjB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,YAAY,UAAkH,CAAA;AAC3I,eAAO,MAAM,YAAY,UAA+C,CAAA;AAExE,MAAM,WAAW,GAAG;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,GAAG,CAAC,EAAE,KAAK,CAAC;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;KACX,CAAC,CAAA;IACF,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEhD,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AACD,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB"}
1
+ {"version":3,"file":"key-util-types.d.ts","sourceRoot":"","sources":["../../src/types/key-util-types.ts"],"names":[],"mappings":"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"}