@sphereon/ssi-sdk-ext.key-utils 0.14.1-next.3 → 0.14.1-next.7

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.
package/dist/functions.js CHANGED
@@ -172,7 +172,7 @@ exports.jwkDetermineUse = jwkDetermineUse;
172
172
  */
173
173
  const assertProperKeyLength = (keyHex, expectedKeyLength) => {
174
174
  if (Array.isArray(expectedKeyLength)) {
175
- if (expectedKeyLength.includes(keyHex.length)) {
175
+ if (!expectedKeyLength.includes(keyHex.length)) {
176
176
  throw Error(`Invalid key length. Needs to be a hex string with length from ${JSON.stringify(expectedKeyLength)} instead of ${keyHex.length}. Input: ${keyHex}`);
177
177
  }
178
178
  }
@@ -187,9 +187,13 @@ const assertProperKeyLength = (keyHex, expectedKeyLength) => {
187
187
  * @return The JWK
188
188
  */
189
189
  const toSecp256k1Jwk = (publicKeyHex, opts) => {
190
- assertProperKeyLength(publicKeyHex, 130);
191
190
  const { use } = opts !== null && opts !== void 0 ? opts : {};
192
- return Object.assign(Object.assign({ alg: 'ES256K' }, (use !== undefined && { use })), { kty: types_1.KeyType.EC, crv: types_1.KeyCurve.Secp256k1, x: (0, exports.hex2base64url)(publicKeyHex.substr(2, 64)), y: (0, exports.hex2base64url)(publicKeyHex.substr(66, 64)) });
191
+ const publicKey = publicKeyHex;
192
+ assertProperKeyLength(publicKeyHex, [64, 66, 130]);
193
+ const secp256r1 = new elliptic_1.default.ec('secp256k1');
194
+ const key = secp256r1.keyFromPublic(publicKey, 'hex');
195
+ const pubPoint = key.getPublic();
196
+ return Object.assign(Object.assign({ alg: 'ES256K' }, (use !== undefined && { use })), { kty: types_1.KeyType.EC, crv: types_1.KeyCurve.Secp256k1, x: (0, exports.hex2base64url)(pubPoint.getX().toString('hex')), y: (0, exports.hex2base64url)(pubPoint.getY().toString('hex')) });
193
197
  };
194
198
  /**
195
199
  * Generates a JWK from a Secp256r1 public key
@@ -200,7 +204,7 @@ const toSecp256k1Jwk = (publicKeyHex, opts) => {
200
204
  const toSecp256r1Jwk = (publicKeyHex, opts) => {
201
205
  const { use } = opts !== null && opts !== void 0 ? opts : {};
202
206
  const publicKey = publicKeyHex;
203
- assertProperKeyLength(publicKey, 66);
207
+ assertProperKeyLength(publicKey, [64, 66, 130]);
204
208
  const secp256r1 = new elliptic_1.default.ec('p256');
205
209
  const key = secp256r1.keyFromPublic(publicKey, 'hex');
206
210
  const pubPoint = key.getPublic();
@@ -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.14.1-next.3+4789c5b",
4
+ "version": "0.14.1-next.7+1491068",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -47,5 +47,5 @@
47
47
  "DID",
48
48
  "Veramo"
49
49
  ],
50
- "gitHead": "4789c5b7a518e67b22478e7769aa383002e2a2c7"
50
+ "gitHead": "14910689e17c807ebb012beb80f20cde300b025f"
51
51
  }
package/src/functions.ts CHANGED
@@ -154,7 +154,7 @@ export const jwkDetermineUse = (type: TKeyType, suppliedUse?: JwkKeyUse): JwkKey
154
154
  */
155
155
  const assertProperKeyLength = (keyHex: string, expectedKeyLength: number | number[]) => {
156
156
  if (Array.isArray(expectedKeyLength)) {
157
- if (expectedKeyLength.includes(keyHex.length)) {
157
+ if (!expectedKeyLength.includes(keyHex.length)) {
158
158
  throw Error(
159
159
  `Invalid key length. Needs to be a hex string with length from ${JSON.stringify(expectedKeyLength)} instead of ${
160
160
  keyHex.length
@@ -173,15 +173,21 @@ const assertProperKeyLength = (keyHex: string, expectedKeyLength: number | numbe
173
173
  * @return The JWK
174
174
  */
175
175
  const toSecp256k1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonWebKey => {
176
- assertProperKeyLength(publicKeyHex, 130)
177
176
  const { use } = opts ?? {}
177
+ const publicKey = publicKeyHex
178
+ assertProperKeyLength(publicKeyHex, [64, 66, 130])
179
+
180
+ const secp256r1 = new elliptic.ec('secp256k1')
181
+ const key = secp256r1.keyFromPublic(publicKey, 'hex')
182
+ const pubPoint = key.getPublic()
183
+
178
184
  return {
179
185
  alg: 'ES256K',
180
186
  ...(use !== undefined && { use }),
181
187
  kty: KeyType.EC,
182
188
  crv: KeyCurve.Secp256k1,
183
- x: hex2base64url(publicKeyHex.substr(2, 64)),
184
- y: hex2base64url(publicKeyHex.substr(66, 64)),
189
+ x: hex2base64url(pubPoint.getX().toString('hex')),
190
+ y: hex2base64url(pubPoint.getY().toString('hex')),
185
191
  }
186
192
  }
187
193
 
@@ -194,7 +200,7 @@ const toSecp256k1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonW
194
200
  const toSecp256r1Jwk = (publicKeyHex: string, opts?: { use?: JwkKeyUse }): JsonWebKey => {
195
201
  const { use } = opts ?? {}
196
202
  const publicKey = publicKeyHex
197
- assertProperKeyLength(publicKey, 66)
203
+ assertProperKeyLength(publicKey, [64, 66, 130])
198
204
 
199
205
  const secp256r1 = new elliptic.ec('p256')
200
206
  const key = secp256r1.keyFromPublic(publicKey, 'hex')