@interop/ecdsa-multikey 2.3.3 → 2.4.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @interop/ecdsa-multikey ChangeLog
2
2
 
3
+ ## 2.4.0 - 2026-09-05
4
+
5
+ ### Changed
6
+
7
+ - Decode P-curve Multikey strings through `decodeMultikey` from
8
+ `@interop/data-integrity-core/multihash` instead of hand-rolled header checks.
9
+ Header recognition and compressed-point / secret-scalar length are now both
10
+ validated by the shared decoder, so a malformed or wrong-length P-curve key is
11
+ rejected earlier and more strictly.
12
+
13
+ ## 2.3.4 - 2026-08-18
14
+
15
+ ### Changed
16
+
17
+ - Update to latest `@interop/data-integrity-core@8.7.1`.
18
+
3
19
  ## 2.3.3 - 2026-07-17
4
20
 
5
21
  ### Changed
package/README.md CHANGED
@@ -155,6 +155,9 @@ const valid = await verify({ data, signature })
155
155
 
156
156
  PRs accepted.
157
157
 
158
+ See [CONTRIBUTING.md](CONTRIBUTING.md) -- code style and contribution
159
+ conventions.
160
+
158
161
  If editing the Readme, please conform to the
159
162
  [standard-readme](https://github.com/RichardLitt/standard-readme) specification.
160
163
 
package/dist/helpers.d.ts CHANGED
@@ -1,9 +1,36 @@
1
- export declare function getNamedCurveFromPublicMultikey({ publicMultikey }: {
2
- publicMultikey: Uint8Array;
3
- }): string;
4
- export declare function getNamedCurveFromSecretMultikey({ secretMultikey }: {
5
- secretMultikey: Uint8Array;
6
- }): string;
1
+ import type { EcdsaCurve } from './constants.js';
2
+ /**
3
+ * Decodes a public Multikey string, identifying its curve. The multicodec
4
+ * header and the compressed-point length are both validated by the
5
+ * underlying multikey decoder.
6
+ *
7
+ * @param options {object}
8
+ * @param options.publicKeyMultibase {string}
9
+ * @returns {{ curve: EcdsaCurve, keyBytes: Uint8Array }} The curve name and
10
+ * the raw (compressed) public key bytes, without the multicodec header.
11
+ */
12
+ export declare function decodePublicMultikey({ publicKeyMultibase }: {
13
+ publicKeyMultibase: string;
14
+ }): {
15
+ curve: EcdsaCurve;
16
+ keyBytes: Uint8Array;
17
+ };
18
+ /**
19
+ * Decodes a secret Multikey string, identifying its curve. The multicodec
20
+ * header and the secret-scalar length are both validated by the underlying
21
+ * multikey decoder.
22
+ *
23
+ * @param options {object}
24
+ * @param options.secretKeyMultibase {string}
25
+ * @returns {{ curve: EcdsaCurve, keyBytes: Uint8Array }} The curve name and
26
+ * the raw secret key bytes, without the multicodec header.
27
+ */
28
+ export declare function decodeSecretMultikey({ secretKeyMultibase }: {
29
+ secretKeyMultibase: string;
30
+ }): {
31
+ curve: EcdsaCurve;
32
+ keyBytes: Uint8Array;
33
+ };
7
34
  export declare function getSecretKeySize({ curve }: {
8
35
  curve: string;
9
36
  }): number;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAcA,wBAAgB,+BAA+B,CAAC,EAC9C,cAAc,EACf,EAAE;IACD,cAAc,EAAE,UAAU,CAAA;CAC3B,GAAG,MAAM,CAqBT;AAGD,wBAAgB,+BAA+B,CAAC,EAC9C,cAAc,EACf,EAAE;IACD,cAAc,EAAE,UAAU,CAAA;CAC3B,GAAG,MAAM,CAqBT;AAGD,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAWrE;AAGD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;CACnB,GAAG,IAAI,CAUP;AAGD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;CACnB,GAAG,IAAI,CAUP"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAgBhD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,kBAAkB,EACnB,EAAE;IACD,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,CAc9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,kBAAkB,EACnB,EAAE;IACD,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,CAc9C;AAGD,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAWrE;AAGD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;CACnB,GAAG,IAAI,CAUP;AAGD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;CACnB,GAAG,IAAI,CAUP"}
package/dist/helpers.js CHANGED
@@ -1,40 +1,73 @@
1
1
  /*!
2
2
  * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
3
3
  */
4
+ import { decodeMultikey, MultikeyCodec } from '@interop/data-integrity-core/multihash';
4
5
  import { ECDSA_CURVE, MULTICODEC_P256_PUBLIC_KEY_HEADER, MULTICODEC_P256_SECRET_KEY_HEADER, MULTICODEC_P384_PUBLIC_KEY_HEADER, MULTICODEC_P384_SECRET_KEY_HEADER, MULTICODEC_P521_PUBLIC_KEY_HEADER, MULTICODEC_P521_SECRET_KEY_HEADER } from './constants.js';
5
- // retrieves name of appropriate ECDSA curve from public Multikey
6
- export function getNamedCurveFromPublicMultikey({ publicMultikey }) {
7
- if (publicMultikey[0] === MULTICODEC_P256_PUBLIC_KEY_HEADER[0] &&
8
- publicMultikey[1] === MULTICODEC_P256_PUBLIC_KEY_HEADER[1]) {
9
- return ECDSA_CURVE.P256;
10
- }
11
- if (publicMultikey[0] === MULTICODEC_P384_PUBLIC_KEY_HEADER[0] &&
12
- publicMultikey[1] === MULTICODEC_P384_PUBLIC_KEY_HEADER[1]) {
13
- return ECDSA_CURVE.P384;
14
- }
15
- if (publicMultikey[0] === MULTICODEC_P521_PUBLIC_KEY_HEADER[0] &&
16
- publicMultikey[1] === MULTICODEC_P521_PUBLIC_KEY_HEADER[1]) {
17
- return ECDSA_CURVE.P521;
18
- }
19
- // FIXME; also support P-256K/secp256k1
20
- throw new TypeError('Unsupported public multikey header.');
6
+ // maps a public-key multicodec identifier to its curve name
7
+ const PUBLIC_MULTIKEY_CURVES = {
8
+ [MultikeyCodec.P256_PUB]: ECDSA_CURVE.P256,
9
+ [MultikeyCodec.P384_PUB]: ECDSA_CURVE.P384,
10
+ [MultikeyCodec.P521_PUB]: ECDSA_CURVE.P521
11
+ };
12
+ // maps a secret-key multicodec identifier to its curve name
13
+ const SECRET_MULTIKEY_CURVES = {
14
+ [MultikeyCodec.P256_PRIV]: ECDSA_CURVE.P256,
15
+ [MultikeyCodec.P384_PRIV]: ECDSA_CURVE.P384,
16
+ [MultikeyCodec.P521_PRIV]: ECDSA_CURVE.P521
17
+ };
18
+ /**
19
+ * Decodes a public Multikey string, identifying its curve. The multicodec
20
+ * header and the compressed-point length are both validated by the
21
+ * underlying multikey decoder.
22
+ *
23
+ * @param options {object}
24
+ * @param options.publicKeyMultibase {string}
25
+ * @returns {{ curve: EcdsaCurve, keyBytes: Uint8Array }} The curve name and
26
+ * the raw (compressed) public key bytes, without the multicodec header.
27
+ */
28
+ export function decodePublicMultikey({ publicKeyMultibase }) {
29
+ let codec;
30
+ let keyBytes;
31
+ try {
32
+ ;
33
+ ({ codec, keyBytes } = decodeMultikey({ multikey: publicKeyMultibase }));
34
+ }
35
+ catch (err) {
36
+ throw new TypeError('Unsupported public multikey header.', { cause: err });
37
+ }
38
+ const curve = PUBLIC_MULTIKEY_CURVES[codec];
39
+ if (!curve) {
40
+ // FIXME; also support P-256K/secp256k1
41
+ throw new TypeError('Unsupported public multikey header.');
42
+ }
43
+ return { curve, keyBytes };
21
44
  }
22
- // retrieves name of appropriate ECDSA curve from secret Multikey
23
- export function getNamedCurveFromSecretMultikey({ secretMultikey }) {
24
- if (secretMultikey[0] === MULTICODEC_P256_SECRET_KEY_HEADER[0] &&
25
- secretMultikey[1] === MULTICODEC_P256_SECRET_KEY_HEADER[1]) {
26
- return ECDSA_CURVE.P256;
27
- }
28
- if (secretMultikey[0] === MULTICODEC_P384_SECRET_KEY_HEADER[0] &&
29
- secretMultikey[1] === MULTICODEC_P384_SECRET_KEY_HEADER[1]) {
30
- return ECDSA_CURVE.P384;
31
- }
32
- if (secretMultikey[0] === MULTICODEC_P521_SECRET_KEY_HEADER[0] &&
33
- secretMultikey[1] === MULTICODEC_P521_SECRET_KEY_HEADER[1]) {
34
- return ECDSA_CURVE.P521;
35
- }
36
- // FIXME; also support P-256K/secp256k1
37
- throw new TypeError('Unsupported secret multikey header.');
45
+ /**
46
+ * Decodes a secret Multikey string, identifying its curve. The multicodec
47
+ * header and the secret-scalar length are both validated by the underlying
48
+ * multikey decoder.
49
+ *
50
+ * @param options {object}
51
+ * @param options.secretKeyMultibase {string}
52
+ * @returns {{ curve: EcdsaCurve, keyBytes: Uint8Array }} The curve name and
53
+ * the raw secret key bytes, without the multicodec header.
54
+ */
55
+ export function decodeSecretMultikey({ secretKeyMultibase }) {
56
+ let codec;
57
+ let keyBytes;
58
+ try {
59
+ ;
60
+ ({ codec, keyBytes } = decodeMultikey({ multikey: secretKeyMultibase }));
61
+ }
62
+ catch (err) {
63
+ throw new TypeError('Unsupported secret multikey header.', { cause: err });
64
+ }
65
+ const curve = SECRET_MULTIKEY_CURVES[codec];
66
+ if (!curve) {
67
+ // FIXME; also support P-256K/secp256k1
68
+ throw new TypeError('Unsupported secret multikey header.');
69
+ }
70
+ return { curve, keyBytes };
38
71
  }
39
72
  // retrieves byte size of secret key
40
73
  export function getSecretKeySize({ curve }) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,YAAY,CAAA;AAG3D,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB;AAiED,wBAAsB,gBAAgB,CAAC,EACrC,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACb,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,OAAO,CAAC,YAAY,CAAC,CA8BxB;AAGD,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACf,EAAE;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgC7B;AAGD,wBAAsB,aAAa,CAAC,EAClC,EAAE,EACF,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,YAAoB,EACrB,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwE3B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,UAAU,CAmBzE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,MAAM,CAsBzE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,UAAU,CAWzE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,MAAM,CAczE;AA+CD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,SAAS,EACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,UAAU,CAAA;IACrB,SAAS,EAAE,UAAU,CAAA;CACtB,GAAG,UAAU,CAAC,WAAW,CAAC,CAwC1B"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,YAAY,CAAA;AAG3D,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB;AAiED,wBAAsB,gBAAgB,CAAC,EACrC,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACb,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,OAAO,CAAC,YAAY,CAAC,CA8BxB;AAGD,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACf,EAAE;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgC7B;AAGD,wBAAsB,aAAa,CAAC,EAClC,EAAE,EACF,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,YAAoB,EACrB,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiF3B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,UAAU,CAmBzE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,MAAM,CAsBzE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,UAAU,CAWzE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,MAAM,CAczE;AAGD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,SAAS,EACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,UAAU,CAAA;IACrB,SAAS,EAAE,UAAU,CAAA;CACtB,GAAG,UAAU,CAAC,WAAW,CAAC,CAwC1B"}
package/dist/serialize.js CHANGED
@@ -4,7 +4,7 @@
4
4
  import { base58btc as base58, base64url } from './baseX.js';
5
5
  import { ALGORITHM, ECDSA_CURVE, EXTRACTABLE, MULTIBASE_BASE58_HEADER, MULTIKEY_CONTEXT_V1_URL } from './constants.js';
6
6
  import { webcrypto } from './crypto.js';
7
- import { getNamedCurveFromPublicMultikey, getNamedCurveFromSecretMultikey, getSecretKeySize, setPublicKeyHeader, setSecretKeyHeader } from './helpers.js';
7
+ import { decodePublicMultikey, decodeSecretMultikey, getSecretKeySize, setPublicKeyHeader, setSecretKeyHeader } from './helpers.js';
8
8
  // FIXME: may need to move any leading zeros for bitstring compression; needs
9
9
  // testing with various browsers
10
10
  const PKCS8_PREFIXES = new Map([
@@ -120,15 +120,17 @@ export async function importKeyPair({ id, controller, secretKeyMultibase, public
120
120
  publicKeyMultibase[0] === MULTIBASE_BASE58_HEADER)) {
121
121
  throw new TypeError('"publicKeyMultibase" must be a multibase, base58-encoded string.');
122
122
  }
123
- const publicMultikey = base58.decode(publicKeyMultibase.slice(1));
123
+ const { curve: publicCurve, keyBytes: publicKey } = decodePublicMultikey({
124
+ publicKeyMultibase
125
+ });
124
126
  // set named curved based on multikey header
125
127
  const algorithm = {
126
128
  name: keyAgreement ? 'ECDH' : ALGORITHM,
127
- namedCurve: getNamedCurveFromPublicMultikey({ publicMultikey })
129
+ namedCurve: publicCurve
128
130
  };
129
131
  // import public key; convert to `spki` format because `jwk` doesn't handle
130
132
  // compressed public keys
131
- const spki = _multikeyToSpki({ publicMultikey });
133
+ const spki = _rawToSpki({ curve: publicCurve, publicKey });
132
134
  // must be empty usage for importing a public key
133
135
  const publicUsage = keyAgreement ? [] : ['verify'];
134
136
  const importedPublicKey = await webcrypto.subtle.importKey('spki', spki, algorithm, EXTRACTABLE, publicUsage);
@@ -143,13 +145,18 @@ export async function importKeyPair({ id, controller, secretKeyMultibase, public
143
145
  secretKeyMultibase[0] === MULTIBASE_BASE58_HEADER)) {
144
146
  throw new TypeError('"secretKeyMultibase" must be a multibase, base58-encoded string.');
145
147
  }
146
- const secretMultikey = base58.decode(secretKeyMultibase.slice(1));
148
+ const { curve: secretCurve, keyBytes: secretKey } = decodeSecretMultikey({
149
+ secretKeyMultibase
150
+ });
147
151
  // ensure secret key multikey header appropriately matches the
148
152
  // public key multikey header
149
- _ensureMultikeyHeadersMatch({ secretMultikey, publicMultikey });
153
+ if (secretCurve !== publicCurve) {
154
+ throw new Error(`Public key curve ('${publicCurve}') does not match ` +
155
+ `secret key curve ('${secretCurve}').`);
156
+ }
150
157
  // convert to `pkcs8` format for import because `jwk` doesn't support
151
158
  // compressed keys
152
- const pkcs8 = _multikeyToPkcs8({ secretMultikey, publicMultikey });
159
+ const pkcs8 = _rawToPkcs8({ curve: secretCurve, secretKey, publicKey });
153
160
  const secretUsage = keyAgreement ? ['deriveBits'] : ['sign'];
154
161
  keyPair.secretKey = await webcrypto.subtle.importKey('pkcs8', pkcs8, algorithm, EXTRACTABLE, secretUsage);
155
162
  }
@@ -225,29 +232,6 @@ export function toSecretKeyMultibase({ jwk }) {
225
232
  const secretKeyMultibase = MULTIBASE_BASE58_HEADER + base58.encode(multikey);
226
233
  return secretKeyMultibase;
227
234
  }
228
- // ensures that public key header matches secret key header
229
- function _ensureMultikeyHeadersMatch({ secretMultikey, publicMultikey }) {
230
- const publicCurve = getNamedCurveFromPublicMultikey({ publicMultikey });
231
- const secretCurve = getNamedCurveFromSecretMultikey({ secretMultikey });
232
- if (publicCurve !== secretCurve) {
233
- throw new Error(`Public key curve ('${publicCurve}') does not match ` +
234
- `secret key curve ('${secretCurve}').`);
235
- }
236
- }
237
- // converts key pair to PKCS #8 format
238
- function _multikeyToPkcs8({ secretMultikey, publicMultikey }) {
239
- const curve = getNamedCurveFromSecretMultikey({ secretMultikey });
240
- // omit multikey headers
241
- const secretKey = secretMultikey.subarray(2);
242
- const publicKey = publicMultikey.subarray(2);
243
- return _rawToPkcs8({ curve, secretKey, publicKey });
244
- }
245
- function _multikeyToSpki({ publicMultikey }) {
246
- const curve = getNamedCurveFromPublicMultikey({ publicMultikey });
247
- // omit multikey header
248
- const publicKey = publicMultikey.subarray(2);
249
- return _rawToSpki({ curve, publicKey });
250
- }
251
235
  // converts key pair to PKCS #8 format
252
236
  export function _rawToPkcs8({ curve, secretKey, publicKey }) {
253
237
  /* Format:
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interop/ecdsa-multikey",
3
- "version": "2.3.3",
3
+ "version": "2.4.0",
4
4
  "description": "TypeScript/JavaScript library for generating and working with EcdsaMultikey key pairs.",
5
5
  "homepage": "https://github.com/interop-alliance/ecdsa-multikey",
6
6
  "repository": {
@@ -30,7 +30,7 @@
30
30
  "LICENSE"
31
31
  ],
32
32
  "dependencies": {
33
- "@interop/data-integrity-core": "^8.3.0",
33
+ "@interop/data-integrity-core": "^8.7.1",
34
34
  "@scure/base": "^2.2.0"
35
35
  },
36
36
  "devDependencies": {