@sphereon/ssi-sdk-ext.key-utils 0.24.1-next.54 → 0.24.1-next.65

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 (40) hide show
  1. package/dist/functions.d.ts +9 -1
  2. package/dist/functions.d.ts.map +1 -1
  3. package/dist/functions.js +78 -20
  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 +0 -1
  10. package/dist/jwk-jcs.d.ts.map +1 -1
  11. package/dist/jwk-jcs.js.map +1 -1
  12. package/dist/types/key-util-types.d.ts +10 -1
  13. package/dist/types/key-util-types.d.ts.map +1 -1
  14. package/dist/types/key-util-types.js +0 -5
  15. package/dist/types/key-util-types.js.map +1 -1
  16. package/package.json +3 -2
  17. package/src/functions.ts +87 -20
  18. package/src/index.ts +0 -2
  19. package/src/jwk-jcs.ts +0 -1
  20. package/src/types/key-util-types.ts +13 -1
  21. package/dist/x509/index.d.ts +0 -4
  22. package/dist/x509/index.d.ts.map +0 -1
  23. package/dist/x509/index.js +0 -20
  24. package/dist/x509/index.js.map +0 -1
  25. package/dist/x509/rsa-key.d.ts +0 -11
  26. package/dist/x509/rsa-key.d.ts.map +0 -1
  27. package/dist/x509/rsa-key.js +0 -101
  28. package/dist/x509/rsa-key.js.map +0 -1
  29. package/dist/x509/rsa-signer.d.ts +0 -25
  30. package/dist/x509/rsa-signer.d.ts.map +0 -1
  31. package/dist/x509/rsa-signer.js +0 -105
  32. package/dist/x509/rsa-signer.js.map +0 -1
  33. package/dist/x509/x509-utils.d.ts +0 -26
  34. package/dist/x509/x509-utils.d.ts.map +0 -1
  35. package/dist/x509/x509-utils.js +0 -183
  36. package/dist/x509/x509-utils.js.map +0 -1
  37. package/src/x509/index.ts +0 -3
  38. package/src/x509/rsa-key.ts +0 -81
  39. package/src/x509/rsa-signer.ts +0 -81
  40. package/src/x509/x509-utils.ts +0 -153
@@ -1,5 +1,5 @@
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, TKeyType } from './types';
3
3
  export declare const logger: import("@sphereon/ssi-types").ISimpleLogger<unknown>;
4
4
  /**
5
5
  * Generates a random Private Hex Key for the specified key type
@@ -60,4 +60,12 @@ export declare const asn1DerToRawPublicKey: (derKey: Uint8Array, keyType: TKeyTy
60
60
  export declare const isRawCompressedPublicKey: (key: Uint8Array) => boolean;
61
61
  export declare const toRawCompressedHexPublicKey: (rawPublicKey: Uint8Array, keyType: TKeyType) => string;
62
62
  export declare const hexStringFromUint8Array: (value: Uint8Array) => string;
63
+ export declare const signatureAlgorithmFromKey: (args: SignatureAlgorithmFromKeyArgs) => Promise<SignatureAlgorithmEnum>;
64
+ export declare const signatureAlgorithmFromKeyType: (args: SignatureAlgorithmFromKeyTypeArgs) => SignatureAlgorithmEnum;
65
+ export declare const keyTypeFromCryptographicSuite: (args: KeyTypeFromCryptographicSuiteArgs) => TKeyType;
66
+ export declare enum SignatureAlgorithmEnum {
67
+ EdDSA = "EdDSA",
68
+ ES256 = "ES256",
69
+ ES256K = "ES256K"
70
+ }
63
71
  //# 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;AAMrG,OAAO,EAAgB,iCAAiC,EAAE,GAAG,EAAE,SAAS,EAAmC,QAAQ,EAAE,MAAM,SAAS,CAAA;AAKpI,eAAO,MAAM,MAAM,sDAA4C,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAgB,QAAQ,KAAG,QAAQ,MAAM,CAmB1E,CAAA;AAID;;;;;;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,CA4Cf;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;AAkDD,eAAO,MAAM,SAAS,QAAS,UAAU,KAAG,OAA0B,CAAA;AAEtE,eAAO,MAAM,qBAAqB,WACxB,UAAU,WACT,QAAQ,KAChB,UAiCF,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAS,UAAU,KAAG,OAAoE,CAAA;AAE/H,eAAO,MAAM,2BAA2B,iBAAkB,UAAU,WAAW,QAAQ,KAAG,MAqBzF,CAAA;AAGD,eAAO,MAAM,uBAAuB,UAAW,UAAU,KAAG,MAAuC,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,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;;;;;;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,sBAAsB,CAGnH,CAAA;AAED,eAAO,MAAM,6BAA6B,SAAU,iCAAiC,KAAG,sBAavF,CAAA;AAGD,eAAO,MAAM,6BAA6B,SAAU,iCAAiC,KAAG,QAiBvF,CAAA;AAED,oBAAY,sBAAsB;IAChC,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;CAClB"}
package/dist/functions.js CHANGED
@@ -35,15 +35,15 @@ 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.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.toJwk = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.importProvidedOrGeneratedKey = exports.generatePrivateKeyHex = exports.logger = void 0;
38
+ exports.SignatureAlgorithmEnum = exports.keyTypeFromCryptographicSuite = exports.signatureAlgorithmFromKeyType = exports.signatureAlgorithmFromKey = exports.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.toJwk = 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
43
  const elliptic_1 = __importDefault(require("elliptic"));
42
44
  const u8a = __importStar(require("uint8arrays"));
43
45
  const digest_methods_1 = require("./digest-methods");
44
46
  const types_1 = require("./types");
45
- const x509_1 = require("./x509");
46
- const ssi_types_1 = require("@sphereon/ssi-types");
47
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
@@ -63,15 +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 algorithmsFromKeyType = (type) => [type];
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
+ };
75
90
  /**
76
91
  * We optionally generate and then import our own keys.
77
92
  *
@@ -97,7 +112,7 @@ function importProvidedOrGeneratedKey(args, context) {
97
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;
98
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)) {
99
114
  // If we do not have a privateKeyHex but do have a PEM
100
- privateKeyHex = (0, x509_1.privateKeyHexFromPEM)(key.meta.x509.privateKeyPEM);
115
+ privateKeyHex = (0, ssi_sdk_ext_x509_utils_1.privateKeyHexFromPEM)(key.meta.x509.privateKeyPEM);
101
116
  }
102
117
  }
103
118
  if (privateKeyHex) {
@@ -106,10 +121,7 @@ function importProvidedOrGeneratedKey(args, context) {
106
121
  return context.agent.keyManagerCreate({
107
122
  type,
108
123
  kms: args.kms,
109
- meta: {
110
- algorithms: algorithmsFromKeyType(type),
111
- keyAlias: args.alias,
112
- },
124
+ meta: Object.assign(Object.assign({}, key === null || key === void 0 ? void 0 : key.meta), { algorithms: keyMetaAlgorithmsFromKeyType(type), keyAlias: args.alias }),
113
125
  });
114
126
  });
115
127
  }
@@ -260,7 +272,7 @@ const toSecp256k1Jwk = (keyHex, opts) => {
260
272
  const keyBytes = u8a.fromString(keyHex, 'base16');
261
273
  const keyPair = (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) ? secp256k1.keyFromPrivate(keyBytes) : secp256k1.keyFromPublic(keyBytes);
262
274
  const pubPoint = keyPair.getPublic();
263
- 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') }));
275
+ 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') }));
264
276
  };
265
277
  /**
266
278
  * Generates a JWK from a Secp256r1 public key
@@ -282,7 +294,7 @@ const toSecp256r1Jwk = (keyHex, opts) => {
282
294
  exports.logger.debug(`keyBytes length: ${keyBytes}`);
283
295
  const keyPair = (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) ? secp256r1.keyFromPrivate(keyBytes) : secp256r1.keyFromPublic(keyBytes);
284
296
  const pubPoint = keyPair.getPublic();
285
- 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') }));
297
+ 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') }));
286
298
  };
287
299
  /**
288
300
  * Generates a JWK from an Ed25519/X25519 public key
@@ -294,7 +306,7 @@ const toEd25519OrX25519Jwk = (publicKeyHex, opts) => {
294
306
  var _a;
295
307
  assertProperKeyLength(publicKeyHex, 64);
296
308
  const { use } = opts !== null && opts !== void 0 ? opts : {};
297
- 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') });
309
+ 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') });
298
310
  };
299
311
  const toRSAJwk = (publicKeyHex, opts) => {
300
312
  var _a, _b, _c;
@@ -304,8 +316,8 @@ const toRSAJwk = (publicKeyHex, opts) => {
304
316
  if ((_a = key === null || key === void 0 ? void 0 : key.meta) === null || _a === void 0 ? void 0 : _a.publicKeyJwk) {
305
317
  return key.meta.publicKeyJwk;
306
318
  }
307
- 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');
308
- return (0, x509_1.PEMToJwk)(publicKeyPEM, 'public');
319
+ 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');
320
+ return (0, ssi_sdk_ext_x509_utils_1.PEMToJwk)(publicKeyPEM, 'public');
309
321
  };
310
322
  const padLeft = (args) => {
311
323
  var _a, _b;
@@ -329,9 +341,9 @@ var OIDType;
329
341
  OIDType[OIDType["Ed25519"] = 2] = "Ed25519";
330
342
  })(OIDType || (OIDType = {}));
331
343
  const OID = {
332
- [OIDType.Secp256k1]: new Uint8Array([0x06, 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01]),
333
- [OIDType.Secp256r1]: new Uint8Array([0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07]),
334
- [OIDType.Ed25519]: new Uint8Array([0x06, 0x03, 0x2B, 0x65, 0x70])
344
+ [OIDType.Secp256k1]: new Uint8Array([0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01]),
345
+ [OIDType.Secp256r1]: new Uint8Array([0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07]),
346
+ [OIDType.Ed25519]: new Uint8Array([0x06, 0x03, 0x2b, 0x65, 0x70]),
335
347
  };
336
348
  const compareUint8Arrays = (a, b) => {
337
349
  if (a.length !== b.length) {
@@ -372,7 +384,7 @@ const asn1DerToRawPublicKey = (derKey, keyType) => {
372
384
  }
373
385
  let index = 2;
374
386
  if (derKey[1] & 0x80) {
375
- const lengthBytesCount = derKey[1] & 0x7F;
387
+ const lengthBytesCount = derKey[1] & 0x7f;
376
388
  index += lengthBytesCount;
377
389
  }
378
390
  const targetOid = getTargetOID(keyType);
@@ -420,4 +432,50 @@ const toRawCompressedHexPublicKey = (rawPublicKey, keyType) => {
420
432
  exports.toRawCompressedHexPublicKey = toRawCompressedHexPublicKey;
421
433
  const hexStringFromUint8Array = (value) => u8a.toString(value, 'base16');
422
434
  exports.hexStringFromUint8Array = hexStringFromUint8Array;
435
+ const signatureAlgorithmFromKey = (args) => __awaiter(void 0, void 0, void 0, function* () {
436
+ const { key } = args;
437
+ return (0, exports.signatureAlgorithmFromKeyType)({ type: key.type });
438
+ });
439
+ exports.signatureAlgorithmFromKey = signatureAlgorithmFromKey;
440
+ const signatureAlgorithmFromKeyType = (args) => {
441
+ const { type } = args;
442
+ switch (type) {
443
+ case 'Ed25519':
444
+ case 'X25519':
445
+ return SignatureAlgorithmEnum.EdDSA;
446
+ case 'Secp256r1':
447
+ return SignatureAlgorithmEnum.ES256;
448
+ case 'Secp256k1':
449
+ return SignatureAlgorithmEnum.ES256K;
450
+ default:
451
+ throw new Error(`Key type '${type}' not supported`);
452
+ }
453
+ };
454
+ exports.signatureAlgorithmFromKeyType = signatureAlgorithmFromKeyType;
455
+ // TODO improve this conversion for jwt and jsonld, not a fan of current structure
456
+ const keyTypeFromCryptographicSuite = (args) => {
457
+ const { suite } = args;
458
+ switch (suite) {
459
+ case 'EdDSA':
460
+ case 'Ed25519Signature2018':
461
+ case 'Ed25519Signature2020':
462
+ case 'JcsEd25519Signature2020':
463
+ return 'Ed25519';
464
+ case 'JsonWebSignature2020':
465
+ case 'ES256':
466
+ return 'Secp256r1';
467
+ case 'EcdsaSecp256k1Signature2019':
468
+ case 'ES256K':
469
+ return 'Secp256k1';
470
+ default:
471
+ throw new Error(`Cryptographic suite '${suite}' not supported`);
472
+ }
473
+ };
474
+ exports.keyTypeFromCryptographicSuite = keyTypeFromCryptographicSuite;
475
+ var SignatureAlgorithmEnum;
476
+ (function (SignatureAlgorithmEnum) {
477
+ SignatureAlgorithmEnum["EdDSA"] = "EdDSA";
478
+ SignatureAlgorithmEnum["ES256"] = "ES256";
479
+ SignatureAlgorithmEnum["ES256K"] = "ES256K";
480
+ })(SignatureAlgorithmEnum || (exports.SignatureAlgorithmEnum = SignatureAlgorithmEnum = {}));
423
481
  //# 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,4 @@
1
1
  import type { ByteView } from 'multiformats/codecs/interface';
2
- import type { JsonWebKey } from 'did-resolver';
3
2
  /**
4
3
  * Encodes a JWK into a Uint8Array. Only the required JWK members are encoded.
5
4
  *
@@ -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;AAuF7D;;;;;;;;;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 +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';
@@ -77,4 +77,13 @@ export interface IKeyOpts {
77
77
  use?: JwkKeyUse;
78
78
  x509?: X509Opts;
79
79
  }
80
+ export type SignatureAlgorithmFromKeyArgs = {
81
+ key: IKey;
82
+ };
83
+ export type SignatureAlgorithmFromKeyTypeArgs = {
84
+ type: TKeyType;
85
+ };
86
+ export type KeyTypeFromCryptographicSuiteArgs = {
87
+ suite: string;
88
+ };
80
89
  //# 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,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,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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"}
@@ -29,9 +29,4 @@ var KeyType;
29
29
  })(KeyType || (exports.KeyType = KeyType = {}));
30
30
  exports.SIG_KEY_ALGS = ['ES256', 'ES384', 'ES512', 'EdDSA', 'ES256K', 'Ed25519', 'Secp256k1', 'Secp256r1', 'Bls12381G1', 'Bls12381G2'];
31
31
  exports.ENC_KEY_ALGS = ['X25519', 'ECDH_ES_A256KW', 'RSA_OAEP_256'];
32
- /*
33
- // Needed to make a single property required
34
- type WithRequiredProperty<Type, Key extends keyof Type> = Type & {
35
- [Property in Key]-?: Type[Property]
36
- }*/
37
32
  //# sourceMappingURL=key-util-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-util-types.js","sourceRoot":"","sources":["../../src/types/key-util-types.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAG,aAAsB,CAAA;AACzC,QAAA,kBAAkB,GAAG,MAAM,CAAA;AAIxC,IAAY,GAIX;AAJD,WAAY,GAAG;IACb,0BAAmB,CAAA;IACnB,8BAAuB,CAAA;IACvB,8BAAuB,CAAA;AACzB,CAAC,EAJW,GAAG,mBAAH,GAAG,QAId;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,+BAAkB,CAAA;IAClB,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,mCAAuB,CAAA;IACvB,2BAAe,CAAA;IACf,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;AACnB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,oBAAS,CAAA;IACT,sBAAW,CAAA;IACX,sBAAW,CAAA;AACb,CAAC,EAJW,OAAO,uBAAP,OAAO,QAIlB;AAEY,QAAA,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;AAC9H,QAAA,YAAY,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;AA0DxE;;;;GAIG"}
1
+ {"version":3,"file":"key-util-types.js","sourceRoot":"","sources":["../../src/types/key-util-types.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAG,aAAsB,CAAA;AACzC,QAAA,kBAAkB,GAAG,MAAM,CAAA;AAIxC,IAAY,GAIX;AAJD,WAAY,GAAG;IACb,0BAAmB,CAAA;IACnB,8BAAuB,CAAA;IACvB,8BAAuB,CAAA;AACzB,CAAC,EAJW,GAAG,mBAAH,GAAG,QAId;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,+BAAkB,CAAA;IAClB,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,mCAAuB,CAAA;IACvB,2BAAe,CAAA;IACf,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;AACnB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,oBAAS,CAAA;IACT,sBAAW,CAAA;IACX,sBAAW,CAAA;AACb,CAAC,EAJW,OAAO,uBAAP,OAAO,QAIlB;AAEY,QAAA,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;AAC9H,QAAA,YAAY,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk-ext.key-utils",
3
3
  "description": "Sphereon SSI-SDK plugin for key creation.",
4
- "version": "0.24.1-next.54+6e81cee",
4
+ "version": "0.24.1-next.65+a285cf0",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -11,6 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@ethersproject/random": "^5.7.0",
14
+ "@sphereon/ssi-sdk-ext.x509-utils": "0.24.1-next.65+a285cf0",
14
15
  "@sphereon/ssi-types": "0.29.1-next.46",
15
16
  "@stablelib/ed25519": "^1.0.3",
16
17
  "@stablelib/sha256": "^1.0.1",
@@ -48,5 +49,5 @@
48
49
  "DID",
49
50
  "Veramo"
50
51
  ],
51
- "gitHead": "6e81cee403f27cab5b37f533f5056ce68b097368"
52
+ "gitHead": "a285cf09d4989ede2132c20f7b1e4460bb187223"
52
53
  }
package/src/functions.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { randomBytes } from '@ethersproject/random'
2
+ import { generateRSAKeyAsPEM, hexToBase64, hexToPEM, PEMToJwk, privateKeyHexFromPEM } from '@sphereon/ssi-sdk-ext.x509-utils'
3
+ import { Loggers } from '@sphereon/ssi-types'
2
4
  import { generateKeyPair as generateSigningKeyPair } from '@stablelib/ed25519'
3
5
  import { IAgentContext, IKey, IKeyManager, ManagedKeyInfo, MinimalImportableKey } from '@veramo/core'
4
6
 
@@ -6,10 +8,19 @@ import { JsonWebKey } from 'did-resolver'
6
8
  import elliptic from 'elliptic'
7
9
  import * as u8a from 'uint8arrays'
8
10
  import { digestMethodParams } from './digest-methods'
9
- import { ENC_KEY_ALGS, IImportProvidedOrGeneratedKeyArgs, JWK, JwkKeyUse, KeyCurve, KeyType, SIG_KEY_ALGS, TKeyType } from './types'
10
- import { generateRSAKeyAsPEM, hexToBase64, hexToPEM, PEMToJwk, privateKeyHexFromPEM } from './x509'
11
- import { Loggers } from '@sphereon/ssi-types'
12
-
11
+ import {
12
+ ENC_KEY_ALGS,
13
+ IImportProvidedOrGeneratedKeyArgs,
14
+ JWK,
15
+ JwkKeyUse,
16
+ KeyCurve,
17
+ KeyType,
18
+ KeyTypeFromCryptographicSuiteArgs,
19
+ SIG_KEY_ALGS,
20
+ SignatureAlgorithmFromKeyArgs,
21
+ SignatureAlgorithmFromKeyTypeArgs,
22
+ TKeyType,
23
+ } from './types'
13
24
 
14
25
  export const logger = Loggers.DEFAULT.get('sphereon:key-utils')
15
26
 
@@ -39,7 +50,22 @@ export const generatePrivateKeyHex = async (type: TKeyType): Promise<string> =>
39
50
  }
40
51
  }
41
52
 
42
- const algorithmsFromKeyType = (type: string): string[] => [type]
53
+ const keyMetaAlgorithmsFromKeyType = (type: string | TKeyType) => {
54
+ switch (type) {
55
+ case 'Ed25519':
56
+ return ['Ed25519', 'EdDSA']
57
+ case 'ES256K':
58
+ case 'Secp256k1':
59
+ return ['ES256K', 'ES256K-R', 'eth_signTransaction', 'eth_signTypedData', 'eth_signMessage', 'eth_rawSign']
60
+ case 'Secp256r1':
61
+ return ['ES256']
62
+ case 'X25519':
63
+ return ['ECDH', 'ECDH-ES', 'ECDH-1PU']
64
+ case 'RSA':
65
+ return ['RS256', 'RS512', 'PS256', 'PS512']
66
+ }
67
+ return [type]
68
+ }
43
69
 
44
70
  /**
45
71
  * We optionally generate and then import our own keys.
@@ -93,7 +119,8 @@ export async function importProvidedOrGeneratedKey(
93
119
  type,
94
120
  kms: args.kms,
95
121
  meta: {
96
- algorithms: algorithmsFromKeyType(type),
122
+ ...key?.meta,
123
+ algorithms: keyMetaAlgorithmsFromKeyType(type),
97
124
  keyAlias: args.alias,
98
125
  },
99
126
  })
@@ -353,20 +380,18 @@ export const padLeft = (args: { data: string; size?: number; padString?: string
353
380
  return padString.repeat((size - data.length) / length) + data
354
381
  }
355
382
 
356
-
357
383
  enum OIDType {
358
384
  Secp256k1,
359
385
  Secp256r1,
360
- Ed25519
386
+ Ed25519,
361
387
  }
362
388
 
363
389
  const OID: Record<OIDType, Uint8Array> = {
364
- [OIDType.Secp256k1]: new Uint8Array([0x06, 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01]),
365
- [OIDType.Secp256r1]: new Uint8Array([0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07]),
366
- [OIDType.Ed25519]: new Uint8Array([0x06, 0x03, 0x2B, 0x65, 0x70])
390
+ [OIDType.Secp256k1]: new Uint8Array([0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01]),
391
+ [OIDType.Secp256r1]: new Uint8Array([0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07]),
392
+ [OIDType.Ed25519]: new Uint8Array([0x06, 0x03, 0x2b, 0x65, 0x70]),
367
393
  }
368
394
 
369
-
370
395
  const compareUint8Arrays = (a: Uint8Array, b: Uint8Array): boolean => {
371
396
  if (a.length !== b.length) {
372
397
  return false
@@ -391,9 +416,9 @@ const findSubarray = (haystack: Uint8Array, needle: Uint8Array): number => {
391
416
  const getTargetOID = (keyType: TKeyType) => {
392
417
  switch (keyType) {
393
418
  case 'Secp256k1':
394
- return OID[OIDType.Secp256k1]
419
+ return OID[OIDType.Secp256k1]
395
420
  case 'Secp256r1':
396
- return OID[OIDType.Secp256r1]
421
+ return OID[OIDType.Secp256r1]
397
422
  case 'Ed25519':
398
423
  return OID[OIDType.Ed25519]
399
424
  default:
@@ -403,17 +428,14 @@ const getTargetOID = (keyType: TKeyType) => {
403
428
 
404
429
  export const isAsn1Der = (key: Uint8Array): boolean => key[0] === 0x30
405
430
 
406
- export const asn1DerToRawPublicKey = (
407
- derKey: Uint8Array,
408
- keyType: TKeyType
409
- ): Uint8Array => {
431
+ export const asn1DerToRawPublicKey = (derKey: Uint8Array, keyType: TKeyType): Uint8Array => {
410
432
  if (!isAsn1Der(derKey)) {
411
433
  throw new Error('Invalid DER encoding: Expected to start with sequence tag')
412
434
  }
413
435
 
414
436
  let index = 2
415
437
  if (derKey[1] & 0x80) {
416
- const lengthBytesCount = derKey[1] & 0x7F
438
+ const lengthBytesCount = derKey[1] & 0x7f
417
439
  index += lengthBytesCount
418
440
  }
419
441
  const targetOid = getTargetOID(keyType)
@@ -466,5 +488,50 @@ export const toRawCompressedHexPublicKey = (rawPublicKey: Uint8Array, keyType: T
466
488
  throw new Error(`Unsupported key type: ${keyType}`)
467
489
  }
468
490
 
469
-
470
491
  export const hexStringFromUint8Array = (value: Uint8Array): string => u8a.toString(value, 'base16')
492
+
493
+ export const signatureAlgorithmFromKey = async (args: SignatureAlgorithmFromKeyArgs): Promise<SignatureAlgorithmEnum> => {
494
+ const { key } = args
495
+ return signatureAlgorithmFromKeyType({ type: key.type })
496
+ }
497
+
498
+ export const signatureAlgorithmFromKeyType = (args: SignatureAlgorithmFromKeyTypeArgs): SignatureAlgorithmEnum => {
499
+ const { type } = args
500
+ switch (type) {
501
+ case 'Ed25519':
502
+ case 'X25519':
503
+ return SignatureAlgorithmEnum.EdDSA
504
+ case 'Secp256r1':
505
+ return SignatureAlgorithmEnum.ES256
506
+ case 'Secp256k1':
507
+ return SignatureAlgorithmEnum.ES256K
508
+ default:
509
+ throw new Error(`Key type '${type}' not supported`)
510
+ }
511
+ }
512
+
513
+ // TODO improve this conversion for jwt and jsonld, not a fan of current structure
514
+ export const keyTypeFromCryptographicSuite = (args: KeyTypeFromCryptographicSuiteArgs): TKeyType => {
515
+ const { suite } = args
516
+ switch (suite) {
517
+ case 'EdDSA':
518
+ case 'Ed25519Signature2018':
519
+ case 'Ed25519Signature2020':
520
+ case 'JcsEd25519Signature2020':
521
+ return 'Ed25519'
522
+ case 'JsonWebSignature2020':
523
+ case 'ES256':
524
+ return 'Secp256r1'
525
+ case 'EcdsaSecp256k1Signature2019':
526
+ case 'ES256K':
527
+ return 'Secp256k1'
528
+ default:
529
+ throw new Error(`Cryptographic suite '${suite}' not supported`)
530
+ }
531
+ }
532
+
533
+ export enum SignatureAlgorithmEnum {
534
+ EdDSA = 'EdDSA',
535
+ ES256 = 'ES256',
536
+ ES256K = 'ES256K',
537
+ }
package/src/index.ts CHANGED
@@ -4,9 +4,7 @@
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'
package/src/jwk-jcs.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { TextDecoder, TextEncoder } from 'web-encoding'
2
2
  import isPlainObject from 'lodash.isplainobject'
3
3
  import type { ByteView } from 'multiformats/codecs/interface'
4
- import type { JsonWebKey } from 'did-resolver'
5
4
 
6
5
  const textEncoder = new TextEncoder()
7
6
  const textDecoder = new TextDecoder()