@sphereon/ssi-sdk-ext.key-utils 0.26.1-next.32 → 0.26.1-next.36

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.
@@ -85,7 +85,7 @@ export declare const signatureAlgorithmFromKeyType: (args: SignatureAlgorithmFro
85
85
  export declare const keyTypeFromCryptographicSuite: (args: KeyTypeFromCryptographicSuiteArgs) => TKeyType;
86
86
  export declare function removeNulls<T>(obj: T | any): any;
87
87
  export declare const globalCrypto: (setGlobal: boolean, suppliedCrypto?: Crypto) => Crypto;
88
- export declare const sanatizedJwk: (inputJwk: JWK | JsonWebKey) => JWK;
88
+ export declare const sanitizedJwk: (input: JWK | JsonWebKey) => JWK;
89
89
  /**
90
90
  *
91
91
  */
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
package/dist/functions.js CHANGED
@@ -35,7 +35,7 @@ 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.sanatizedJwk = exports.globalCrypto = exports.keyTypeFromCryptographicSuite = exports.signatureAlgorithmFromKeyType = exports.signatureAlgorithmFromKey = exports.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.jwkToRawHexKey = exports.toJwk = exports.toJwkFromKey = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.generatePrivateKeyHex = exports.getKms = exports.logger = void 0;
38
+ exports.sanitizedJwk = exports.globalCrypto = exports.keyTypeFromCryptographicSuite = exports.signatureAlgorithmFromKeyType = exports.signatureAlgorithmFromKey = exports.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.jwkToRawHexKey = exports.toJwk = exports.toJwkFromKey = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.generatePrivateKeyHex = exports.getKms = exports.logger = void 0;
39
39
  exports.importProvidedOrGeneratedKey = importProvidedOrGeneratedKey;
40
40
  exports.removeNulls = removeNulls;
41
41
  exports.verifyRawSignature = verifyRawSignature;
@@ -182,7 +182,7 @@ exports.toBase64url = toBase64url;
182
182
  */
183
183
  const calculateJwkThumbprint = (args) => {
184
184
  const { digestAlgorithm = 'sha256' } = args;
185
- const jwk = (0, exports.sanatizedJwk)(args.jwk);
185
+ const jwk = (0, exports.sanitizedJwk)(args.jwk);
186
186
  let components;
187
187
  switch (jwk.kty) {
188
188
  case 'EC':
@@ -254,7 +254,7 @@ const toJwk = (publicKeyHex, type, opts) => {
254
254
  if (!jwk.kid && !noKidThumbprint) {
255
255
  jwk['kid'] = (0, exports.calculateJwkThumbprint)({ jwk });
256
256
  }
257
- return (0, exports.sanatizedJwk)(jwk);
257
+ return (0, exports.sanitizedJwk)(jwk);
258
258
  };
259
259
  exports.toJwk = toJwk;
260
260
  /**
@@ -265,7 +265,7 @@ exports.toJwk = toJwk;
265
265
  */
266
266
  const jwkToRawHexKey = (jwk) => __awaiter(void 0, void 0, void 0, function* () {
267
267
  // TODO: Probably makes sense to have an option to do the same for private keys
268
- jwk = (0, exports.sanatizedJwk)(jwk);
268
+ jwk = (0, exports.sanitizedJwk)(jwk);
269
269
  if (jwk.kty === 'RSA') {
270
270
  return rsaJwkToRawHexKey(jwk);
271
271
  }
@@ -289,7 +289,7 @@ exports.jwkToRawHexKey = jwkToRawHexKey;
289
289
  * @returns A string representing the RSA key in raw hexadecimal format.
290
290
  */
291
291
  function rsaJwkToRawHexKey(jwk) {
292
- jwk = (0, exports.sanatizedJwk)(jwk);
292
+ jwk = (0, exports.sanitizedJwk)(jwk);
293
293
  if (!jwk.n || !jwk.e) {
294
294
  throw new Error("RSA JWK must contain 'n' and 'e' properties.");
295
295
  }
@@ -304,7 +304,7 @@ function rsaJwkToRawHexKey(jwk) {
304
304
  * @returns A string representing the EC key in raw hexadecimal format.
305
305
  */
306
306
  function ecJwkToRawHexKey(jwk) {
307
- jwk = (0, exports.sanatizedJwk)(jwk);
307
+ jwk = (0, exports.sanitizedJwk)(jwk);
308
308
  if (!jwk.x || !jwk.y) {
309
309
  throw new Error("EC JWK must contain 'x' and 'y' properties.");
310
310
  }
@@ -319,7 +319,7 @@ function ecJwkToRawHexKey(jwk) {
319
319
  * @returns A string representing the EC key in raw hexadecimal format.
320
320
  */
321
321
  function okpJwkToRawHexKey(jwk) {
322
- jwk = (0, exports.sanatizedJwk)(jwk);
322
+ jwk = (0, exports.sanitizedJwk)(jwk);
323
323
  if (!jwk.x) {
324
324
  throw new Error("OKP JWK must contain 'x' property.");
325
325
  }
@@ -333,7 +333,7 @@ function okpJwkToRawHexKey(jwk) {
333
333
  * @returns A string representing the octet key in raw hexadecimal format.
334
334
  */
335
335
  function octJwkToRawHexKey(jwk) {
336
- jwk = (0, exports.sanatizedJwk)(jwk);
336
+ jwk = (0, exports.sanitizedJwk)(jwk);
337
337
  if (!jwk.k) {
338
338
  throw new Error("Octet JWK must contain 'k' property.");
339
339
  }
@@ -392,7 +392,7 @@ const toSecp256k1Jwk = (keyHex, opts) => {
392
392
  const keyBytes = u8a.fromString(keyHex, 'base16');
393
393
  const keyPair = (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) ? secp256k1.keyFromPrivate(keyBytes) : secp256k1.keyFromPublic(keyBytes);
394
394
  const pubPoint = keyPair.getPublic();
395
- return (0, exports.sanatizedJwk)(Object.assign(Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.ES256K }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.EC, crv: ssi_types_1.JoseCurve.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') })));
395
+ return (0, exports.sanitizedJwk)(Object.assign(Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.ES256K }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.EC, crv: ssi_types_1.JoseCurve.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') })));
396
396
  };
397
397
  /**
398
398
  * Generates a JWK from a Secp256r1 public key
@@ -414,7 +414,7 @@ const toSecp256r1Jwk = (keyHex, opts) => {
414
414
  exports.logger.debug(`keyBytes length: ${keyBytes}`);
415
415
  const keyPair = (opts === null || opts === void 0 ? void 0 : opts.isPrivateKey) ? secp256r1.keyFromPrivate(keyBytes) : secp256r1.keyFromPublic(keyBytes);
416
416
  const pubPoint = keyPair.getPublic();
417
- return (0, exports.sanatizedJwk)(Object.assign(Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.ES256 }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.EC, crv: ssi_types_1.JoseCurve.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') })));
417
+ return (0, exports.sanitizedJwk)(Object.assign(Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.ES256 }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.EC, crv: ssi_types_1.JoseCurve.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') })));
418
418
  };
419
419
  /**
420
420
  * Generates a JWK from an Ed25519/X25519 public key
@@ -426,7 +426,7 @@ const toEd25519OrX25519Jwk = (publicKeyHex, opts) => {
426
426
  var _a;
427
427
  assertProperKeyLength(publicKeyHex, 64);
428
428
  const { use } = opts !== null && opts !== void 0 ? opts : {};
429
- return (0, exports.sanatizedJwk)(Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.EdDSA }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.OKP, crv: (_a = opts === null || opts === void 0 ? void 0 : opts.crv) !== null && _a !== void 0 ? _a : ssi_types_1.JoseCurve.Ed25519, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(publicKeyHex, 'base64url') }));
429
+ return (0, exports.sanitizedJwk)(Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.EdDSA }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.OKP, crv: (_a = opts === null || opts === void 0 ? void 0 : opts.crv) !== null && _a !== void 0 ? _a : ssi_types_1.JoseCurve.Ed25519, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(publicKeyHex, 'base64url') }));
430
430
  };
431
431
  const toRSAJwk = (publicKeyHex, opts) => {
432
432
  var _a, _b;
@@ -445,7 +445,7 @@ const toRSAJwk = (publicKeyHex, opts) => {
445
445
  const modulus = publicKeyHex.slice(0, -5);
446
446
  // const modulusBitLength = (modulus.length / 2) * 8
447
447
  // const alg = modulusBitLength === 2048 ? JoseSignatureAlgorithm.RS256 : modulusBitLength === 3072 ? JoseSignatureAlgorithm.RS384 : modulusBitLength === 4096 ? JoseSignatureAlgorithm.RS512 : undefined
448
- return (0, exports.sanatizedJwk)({
448
+ return (0, exports.sanitizedJwk)({
449
449
  kty: 'RSA',
450
450
  n: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(modulus, 'base64url'),
451
451
  e: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(exponent, 'base64url'),
@@ -664,11 +664,12 @@ const globalCrypto = (setGlobal, suppliedCrypto) => {
664
664
  return webcrypto;
665
665
  };
666
666
  exports.globalCrypto = globalCrypto;
667
- const sanatizedJwk = (inputJwk) => {
667
+ const sanitizedJwk = (input) => {
668
+ const inputJwk = typeof input['toJsonDTO'] === 'function' ? input['toJsonDTO']() : Object.assign({}, input); // KMP code can expose this. It converts a KMP JWK with mangled names into a clean JWK
668
669
  const jwk = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, inputJwk), (inputJwk.x && { x: base64ToBase64Url(inputJwk.x) })), (inputJwk.y && { y: base64ToBase64Url(inputJwk.y) })), (inputJwk.d && { d: base64ToBase64Url(inputJwk.d) })), (inputJwk.n && { n: base64ToBase64Url(inputJwk.n) })), (inputJwk.e && { e: base64ToBase64Url(inputJwk.e) })), (inputJwk.k && { k: base64ToBase64Url(inputJwk.k) }));
669
670
  return removeNulls(jwk);
670
671
  };
671
- exports.sanatizedJwk = sanatizedJwk;
672
+ exports.sanitizedJwk = sanitizedJwk;
672
673
  const base64ToBase64Url = (input) => {
673
674
  return input.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
674
675
  };
@@ -692,7 +693,7 @@ function verifyRawSignature(_a) {
692
693
  }
693
694
  try {
694
695
  (0, debug_1.default)(`verifyRawSignature for: ${inputKey}`);
695
- const jwk = (0, exports.sanatizedJwk)(inputKey);
696
+ const jwk = (0, exports.sanitizedJwk)(inputKey);
696
697
  (0, jwk_jcs_1.validateJwk)(jwk, { crvOptional: true });
697
698
  const keyType = (0, exports.keyTypeFromCryptographicSuite)({ crv: jwk.crv, kty: jwk.kty, alg: jwk.alg });
698
699
  const publicKeyHex = yield (0, exports.jwkToRawHexKey)(jwk);
@@ -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/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.26.1-next.32+928205e",
4
+ "version": "0.26.1-next.36+76c97d2",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -13,7 +13,7 @@
13
13
  "@ethersproject/random": "^5.7.0",
14
14
  "@noble/curves": "1.7.0",
15
15
  "@noble/hashes": "1.6.1",
16
- "@sphereon/ssi-sdk-ext.x509-utils": "0.26.1-next.32+928205e",
16
+ "@sphereon/ssi-sdk-ext.x509-utils": "0.26.1-next.36+76c97d2",
17
17
  "@sphereon/ssi-types": "0.30.2-feature.SDK.41.oidf.support.286",
18
18
  "@stablelib/ed25519": "^1.0.3",
19
19
  "@trust/keyto": "^1.0.1",
@@ -50,5 +50,5 @@
50
50
  "DID",
51
51
  "Veramo"
52
52
  ],
53
- "gitHead": "928205ed0be6bf7819e23a596a670628a8f54327"
53
+ "gitHead": "76c97d27e0a67a84373838c1db711dd24981fb23"
54
54
  }
package/src/functions.ts CHANGED
@@ -181,7 +181,7 @@ export const toBase64url = (input: string): string => u8a.toString(u8a.fromStrin
181
181
  */
182
182
  export const calculateJwkThumbprint = (args: { jwk: JWK; digestAlgorithm?: 'sha256' | 'sha512' }): string => {
183
183
  const { digestAlgorithm = 'sha256' } = args
184
- const jwk = sanatizedJwk(args.jwk)
184
+ const jwk = sanitizedJwk(args.jwk)
185
185
  let components
186
186
  switch (jwk.kty) {
187
187
  case 'EC':
@@ -264,7 +264,7 @@ export const toJwk = (
264
264
  if (!jwk.kid && !noKidThumbprint) {
265
265
  jwk['kid'] = calculateJwkThumbprint({ jwk })
266
266
  }
267
- return sanatizedJwk(jwk)
267
+ return sanitizedJwk(jwk)
268
268
  }
269
269
 
270
270
  /**
@@ -275,7 +275,7 @@ export const toJwk = (
275
275
  */
276
276
  export const jwkToRawHexKey = async (jwk: JWK): Promise<string> => {
277
277
  // TODO: Probably makes sense to have an option to do the same for private keys
278
- jwk = sanatizedJwk(jwk)
278
+ jwk = sanitizedJwk(jwk)
279
279
  if (jwk.kty === 'RSA') {
280
280
  return rsaJwkToRawHexKey(jwk)
281
281
  } else if (jwk.kty === 'EC') {
@@ -295,7 +295,7 @@ export const jwkToRawHexKey = async (jwk: JWK): Promise<string> => {
295
295
  * @returns A string representing the RSA key in raw hexadecimal format.
296
296
  */
297
297
  function rsaJwkToRawHexKey(jwk: JsonWebKey): string {
298
- jwk = sanatizedJwk(jwk)
298
+ jwk = sanitizedJwk(jwk)
299
299
  if (!jwk.n || !jwk.e) {
300
300
  throw new Error("RSA JWK must contain 'n' and 'e' properties.")
301
301
  }
@@ -313,7 +313,7 @@ function rsaJwkToRawHexKey(jwk: JsonWebKey): string {
313
313
  * @returns A string representing the EC key in raw hexadecimal format.
314
314
  */
315
315
  function ecJwkToRawHexKey(jwk: JsonWebKey): string {
316
- jwk = sanatizedJwk(jwk)
316
+ jwk = sanitizedJwk(jwk)
317
317
  if (!jwk.x || !jwk.y) {
318
318
  throw new Error("EC JWK must contain 'x' and 'y' properties.")
319
319
  }
@@ -331,7 +331,7 @@ function ecJwkToRawHexKey(jwk: JsonWebKey): string {
331
331
  * @returns A string representing the EC key in raw hexadecimal format.
332
332
  */
333
333
  function okpJwkToRawHexKey(jwk: JsonWebKey): string {
334
- jwk = sanatizedJwk(jwk)
334
+ jwk = sanitizedJwk(jwk)
335
335
  if (!jwk.x) {
336
336
  throw new Error("OKP JWK must contain 'x' property.")
337
337
  }
@@ -348,7 +348,7 @@ function okpJwkToRawHexKey(jwk: JsonWebKey): string {
348
348
  * @returns A string representing the octet key in raw hexadecimal format.
349
349
  */
350
350
  function octJwkToRawHexKey(jwk: JsonWebKey): string {
351
- jwk = sanatizedJwk(jwk)
351
+ jwk = sanitizedJwk(jwk)
352
352
  if (!jwk.k) {
353
353
  throw new Error("Octet JWK must contain 'k' property.")
354
354
  }
@@ -415,7 +415,7 @@ const toSecp256k1Jwk = (keyHex: string, opts?: { use?: JwkKeyUse; isPrivateKey?:
415
415
  const keyPair = opts?.isPrivateKey ? secp256k1.keyFromPrivate(keyBytes) : secp256k1.keyFromPublic(keyBytes)
416
416
  const pubPoint = keyPair.getPublic()
417
417
 
418
- return sanatizedJwk({
418
+ return sanitizedJwk({
419
419
  alg: JoseSignatureAlgorithm.ES256K,
420
420
  ...(use !== undefined && { use }),
421
421
  kty: JwkKeyType.EC,
@@ -446,7 +446,7 @@ const toSecp256r1Jwk = (keyHex: string, opts?: { use?: JwkKeyUse; isPrivateKey?:
446
446
  logger.debug(`keyBytes length: ${keyBytes}`)
447
447
  const keyPair = opts?.isPrivateKey ? secp256r1.keyFromPrivate(keyBytes) : secp256r1.keyFromPublic(keyBytes)
448
448
  const pubPoint = keyPair.getPublic()
449
- return sanatizedJwk({
449
+ return sanitizedJwk({
450
450
  alg: JoseSignatureAlgorithm.ES256,
451
451
  ...(use !== undefined && { use }),
452
452
  kty: JwkKeyType.EC,
@@ -472,7 +472,7 @@ const toEd25519OrX25519Jwk = (
472
472
  ): JWK => {
473
473
  assertProperKeyLength(publicKeyHex, 64)
474
474
  const { use } = opts ?? {}
475
- return sanatizedJwk({
475
+ return sanitizedJwk({
476
476
  alg: JoseSignatureAlgorithm.EdDSA,
477
477
  ...(use !== undefined && { use }),
478
478
  kty: JwkKeyType.OKP,
@@ -499,7 +499,7 @@ const toRSAJwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse; key?: IKey | M
499
499
  // const modulusBitLength = (modulus.length / 2) * 8
500
500
 
501
501
  // const alg = modulusBitLength === 2048 ? JoseSignatureAlgorithm.RS256 : modulusBitLength === 3072 ? JoseSignatureAlgorithm.RS384 : modulusBitLength === 4096 ? JoseSignatureAlgorithm.RS512 : undefined
502
- return sanatizedJwk({
502
+ return sanitizedJwk({
503
503
  kty: 'RSA',
504
504
  n: hexToBase64(modulus, 'base64url'),
505
505
  e: hexToBase64(exponent, 'base64url'),
@@ -729,7 +729,9 @@ export const globalCrypto = (setGlobal: boolean, suppliedCrypto?: Crypto): Crypt
729
729
  return webcrypto
730
730
  }
731
731
 
732
- export const sanatizedJwk = (inputJwk: JWK | JsonWebKey): JWK => {
732
+ export const sanitizedJwk = (input: JWK | JsonWebKey): JWK => {
733
+ const inputJwk = typeof input['toJsonDTO'] === 'function' ? input['toJsonDTO']() : {...input} as JWK // KMP code can expose this. It converts a KMP JWK with mangled names into a clean JWK
734
+
733
735
  const jwk = {
734
736
  ...inputJwk,
735
737
  ...(inputJwk.x && { x: base64ToBase64Url(inputJwk.x as string) }),
@@ -779,7 +781,7 @@ export async function verifyRawSignature({
779
781
 
780
782
  try {
781
783
  debug(`verifyRawSignature for: ${inputKey}`)
782
- const jwk = sanatizedJwk(inputKey)
784
+ const jwk = sanitizedJwk(inputKey)
783
785
  validateJwk(jwk, { crvOptional: true })
784
786
  const keyType = keyTypeFromCryptographicSuite({ crv: jwk.crv, kty: jwk.kty, alg: jwk.alg })
785
787
  const publicKeyHex = await jwkToRawHexKey(jwk)