@libp2p/crypto 5.1.3 → 5.1.4-3528df829

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 (52) hide show
  1. package/dist/index.min.js +1 -1
  2. package/dist/index.min.js.map +3 -3
  3. package/dist/src/keys/ecdsa/ecdsa.d.ts +3 -3
  4. package/dist/src/keys/ecdsa/ecdsa.d.ts.map +1 -1
  5. package/dist/src/keys/ecdsa/ecdsa.js +4 -4
  6. package/dist/src/keys/ecdsa/ecdsa.js.map +1 -1
  7. package/dist/src/keys/ecdsa/index.d.ts +3 -2
  8. package/dist/src/keys/ecdsa/index.d.ts.map +1 -1
  9. package/dist/src/keys/ecdsa/index.js +8 -3
  10. package/dist/src/keys/ecdsa/index.js.map +1 -1
  11. package/dist/src/keys/ed25519/ed25519.d.ts +3 -3
  12. package/dist/src/keys/ed25519/ed25519.d.ts.map +1 -1
  13. package/dist/src/keys/ed25519/ed25519.js +4 -2
  14. package/dist/src/keys/ed25519/ed25519.js.map +1 -1
  15. package/dist/src/keys/ed25519/index.d.ts +1 -1
  16. package/dist/src/keys/ed25519/index.d.ts.map +1 -1
  17. package/dist/src/keys/rsa/index.browser.d.ts +4 -3
  18. package/dist/src/keys/rsa/index.browser.d.ts.map +1 -1
  19. package/dist/src/keys/rsa/index.browser.js +15 -7
  20. package/dist/src/keys/rsa/index.browser.js.map +1 -1
  21. package/dist/src/keys/rsa/index.d.ts +4 -3
  22. package/dist/src/keys/rsa/index.d.ts.map +1 -1
  23. package/dist/src/keys/rsa/index.js +8 -5
  24. package/dist/src/keys/rsa/index.js.map +1 -1
  25. package/dist/src/keys/rsa/rsa.d.ts +3 -3
  26. package/dist/src/keys/rsa/rsa.d.ts.map +1 -1
  27. package/dist/src/keys/rsa/rsa.js +4 -4
  28. package/dist/src/keys/rsa/rsa.js.map +1 -1
  29. package/dist/src/keys/secp256k1/index.browser.d.ts +3 -2
  30. package/dist/src/keys/secp256k1/index.browser.d.ts.map +1 -1
  31. package/dist/src/keys/secp256k1/index.browser.js +19 -4
  32. package/dist/src/keys/secp256k1/index.browser.js.map +1 -1
  33. package/dist/src/keys/secp256k1/index.d.ts +3 -2
  34. package/dist/src/keys/secp256k1/index.d.ts.map +1 -1
  35. package/dist/src/keys/secp256k1/index.js +4 -2
  36. package/dist/src/keys/secp256k1/index.js.map +1 -1
  37. package/dist/src/keys/secp256k1/secp256k1.d.ts +3 -3
  38. package/dist/src/keys/secp256k1/secp256k1.d.ts.map +1 -1
  39. package/dist/src/keys/secp256k1/secp256k1.js +4 -4
  40. package/dist/src/keys/secp256k1/secp256k1.js.map +1 -1
  41. package/package.json +5 -5
  42. package/src/keys/ecdsa/ecdsa.ts +5 -5
  43. package/src/keys/ecdsa/index.ts +10 -3
  44. package/src/keys/ed25519/ed25519.ts +5 -3
  45. package/src/keys/ed25519/index.ts +1 -1
  46. package/src/keys/rsa/index.browser.ts +18 -7
  47. package/src/keys/rsa/index.ts +11 -5
  48. package/src/keys/rsa/rsa.ts +5 -5
  49. package/src/keys/secp256k1/index.browser.ts +22 -4
  50. package/src/keys/secp256k1/index.ts +6 -2
  51. package/src/keys/secp256k1/secp256k1.ts +5 -5
  52. package/dist/typedoc-urls.json +0 -40
@@ -1,5 +1,5 @@
1
1
  import { CID } from 'multiformats/cid';
2
- import type { ECDSAPublicKey as ECDSAPublicKeyInterface, ECDSAPrivateKey as ECDSAPrivateKeyInterface } from '@libp2p/interface';
2
+ import type { ECDSAPublicKey as ECDSAPublicKeyInterface, ECDSAPrivateKey as ECDSAPrivateKeyInterface, AbortOptions } from '@libp2p/interface';
3
3
  import type { Digest } from 'multiformats/hashes/digest';
4
4
  import type { Uint8ArrayList } from 'uint8arraylist';
5
5
  export declare class ECDSAPublicKey implements ECDSAPublicKeyInterface {
@@ -12,7 +12,7 @@ export declare class ECDSAPublicKey implements ECDSAPublicKeyInterface {
12
12
  toCID(): CID<unknown, 114, 0x0, 1>;
13
13
  toString(): string;
14
14
  equals(key?: any): boolean;
15
- verify(data: Uint8Array | Uint8ArrayList, sig: Uint8Array): Promise<boolean>;
15
+ verify(data: Uint8Array | Uint8ArrayList, sig: Uint8Array, options?: AbortOptions): Promise<boolean>;
16
16
  }
17
17
  export declare class ECDSAPrivateKey implements ECDSAPrivateKeyInterface {
18
18
  readonly type = "ECDSA";
@@ -22,6 +22,6 @@ export declare class ECDSAPrivateKey implements ECDSAPrivateKeyInterface {
22
22
  constructor(jwk: JsonWebKey);
23
23
  get raw(): Uint8Array;
24
24
  equals(key?: any): boolean;
25
- sign(message: Uint8Array | Uint8ArrayList): Promise<Uint8Array>;
25
+ sign(message: Uint8Array | Uint8ArrayList, options?: AbortOptions): Promise<Uint8Array>;
26
26
  }
27
27
  //# sourceMappingURL=ecdsa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../src/keys/ecdsa/ecdsa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,KAAK,EAAE,cAAc,IAAI,uBAAuB,EAAE,eAAe,IAAI,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC/H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,SAAgB,IAAI,WAAU;IAC9B,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAY;gBAEZ,GAAG,EAAE,UAAU;IAI5B,IAAI,GAAG,IAAK,UAAU,CAMrB;IAED,WAAW,IAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;IAInC,KAAK,IAAK,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAInC,QAAQ,IAAK,MAAM;IAInB,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQrB,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpF;AAED,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,IAAI,WAAU;IAC9B,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,SAAS,EAAE,cAAc,CAAA;IACzC,OAAO,CAAC,IAAI,CAAC,CAAY;gBAEZ,GAAG,EAAE,UAAU;IAY5B,IAAI,GAAG,IAAK,UAAU,CAMrB;IAED,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQrB,IAAI,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;CAGvE"}
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../src/keys/ecdsa/ecdsa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,KAAK,EAAE,cAAc,IAAI,uBAAuB,EAAE,eAAe,IAAI,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC7I,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,SAAgB,IAAI,WAAU;IAC9B,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAY;gBAEZ,GAAG,EAAE,UAAU;IAI5B,IAAI,GAAG,IAAK,UAAU,CAMrB;IAED,WAAW,IAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;IAInC,KAAK,IAAK,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAInC,QAAQ,IAAK,MAAM;IAInB,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQrB,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAG5G;AAED,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,IAAI,WAAU;IAC9B,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,SAAS,EAAE,cAAc,CAAA;IACzC,OAAO,CAAC,IAAI,CAAC,CAAY;gBAEZ,GAAG,EAAE,UAAU;IAY5B,IAAI,GAAG,IAAK,UAAU,CAMrB;IAED,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQrB,IAAI,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;CAG/F"}
@@ -33,8 +33,8 @@ export class ECDSAPublicKey {
33
33
  }
34
34
  return uint8ArrayEquals(this.raw, key.raw);
35
35
  }
36
- async verify(data, sig) {
37
- return hashAndVerify(this.jwk, sig, data);
36
+ async verify(data, sig, options) {
37
+ return hashAndVerify(this.jwk, sig, data, options);
38
38
  }
39
39
  }
40
40
  export class ECDSAPrivateKey {
@@ -65,8 +65,8 @@ export class ECDSAPrivateKey {
65
65
  }
66
66
  return uint8ArrayEquals(this.raw, key.raw);
67
67
  }
68
- async sign(message) {
69
- return hashAndSign(this.jwk, message);
68
+ async sign(message, options) {
69
+ return hashAndSign(this.jwk, message, options);
70
70
  }
71
71
  }
72
72
  //# sourceMappingURL=ecdsa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../../../src/keys/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../../../src/keys/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type { JWKKeyPair } from '../interface.js';
2
+ import type { AbortOptions } from '@libp2p/interface';
2
3
  import type { Uint8ArrayList } from 'uint8arraylist';
3
4
  export type Curve = 'P-256' | 'P-384' | 'P-521';
4
5
  export declare const ECDSA_P_256_OID = "1.2.840.10045.3.1.7";
5
6
  export declare const ECDSA_P_384_OID = "1.3.132.0.34";
6
7
  export declare const ECDSA_P_521_OID = "1.3.132.0.35";
7
8
  export declare function generateECDSAKey(curve?: Curve): Promise<JWKKeyPair>;
8
- export declare function hashAndSign(key: JsonWebKey, msg: Uint8Array | Uint8ArrayList): Promise<Uint8Array>;
9
- export declare function hashAndVerify(key: JsonWebKey, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): Promise<boolean>;
9
+ export declare function hashAndSign(key: JsonWebKey, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): Promise<Uint8Array>;
10
+ export declare function hashAndVerify(key: JsonWebKey, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): Promise<boolean>;
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/ecdsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAE/C,eAAO,MAAM,eAAe,wBAAwB,CAAA;AACpD,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAC7C,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,wBAAsB,gBAAgB,CAAE,KAAK,GAAE,KAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAUnF;AAED,wBAAsB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAczG;AAED,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAYzH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/ecdsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAE/C,eAAO,MAAM,eAAe,wBAAwB,CAAA;AACpD,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAC7C,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,wBAAsB,gBAAgB,CAAE,KAAK,GAAE,KAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAUnF;AAED,wBAAsB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBjI;AAED,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBjJ"}
@@ -11,29 +11,34 @@ export async function generateECDSAKey(curve = 'P-256') {
11
11
  privateKey: await crypto.subtle.exportKey('jwk', keyPair.privateKey)
12
12
  };
13
13
  }
14
- export async function hashAndSign(key, msg) {
14
+ export async function hashAndSign(key, msg, options) {
15
15
  const privateKey = await crypto.subtle.importKey('jwk', key, {
16
16
  name: 'ECDSA',
17
17
  namedCurve: key.crv ?? 'P-256'
18
18
  }, false, ['sign']);
19
+ options?.signal?.throwIfAborted();
19
20
  const signature = await crypto.subtle.sign({
20
21
  name: 'ECDSA',
21
22
  hash: {
22
23
  name: 'SHA-256'
23
24
  }
24
25
  }, privateKey, msg.subarray());
26
+ options?.signal?.throwIfAborted();
25
27
  return new Uint8Array(signature, 0, signature.byteLength);
26
28
  }
27
- export async function hashAndVerify(key, sig, msg) {
29
+ export async function hashAndVerify(key, sig, msg, options) {
28
30
  const publicKey = await crypto.subtle.importKey('jwk', key, {
29
31
  name: 'ECDSA',
30
32
  namedCurve: key.crv ?? 'P-256'
31
33
  }, false, ['verify']);
32
- return crypto.subtle.verify({
34
+ options?.signal?.throwIfAborted();
35
+ const result = await crypto.subtle.verify({
33
36
  name: 'ECDSA',
34
37
  hash: {
35
38
  name: 'SHA-256'
36
39
  }
37
40
  }, publicKey, sig, msg.subarray());
41
+ options?.signal?.throwIfAborted();
42
+ return result;
38
43
  }
39
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keys/ecdsa/index.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAA;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAA;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAE,QAAe,OAAO;IAC5D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QAC9C,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;KAClB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE5B,OAAO;QACL,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;QAClE,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;KACrE,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,GAAe,EAAE,GAAgC;IAClF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE;QAC3D,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,GAAG,CAAC,GAAG,IAAI,OAAO;KAC/B,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEnB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;SAChB;KACF,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IAE9B,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAE,GAAe,EAAE,GAAe,EAAE,GAAgC;IACrG,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE;QAC1D,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,GAAG,CAAC,GAAG,IAAI,OAAO;KAC/B,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAErB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;SAChB;KACF,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keys/ecdsa/index.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAA;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAA;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAE,QAAe,OAAO;IAC5D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QAC9C,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;KAClB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE5B,OAAO;QACL,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;QAClE,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;KACrE,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,GAAe,EAAE,GAAgC,EAAE,OAAsB;IAC1G,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE;QAC3D,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,GAAG,CAAC,GAAG,IAAI,OAAO;KAC/B,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAEjC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;SAChB;KACF,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAEjC,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAE,GAAe,EAAE,GAAe,EAAE,GAAgC,EAAE,OAAsB;IAC7H,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE;QAC1D,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,GAAG,CAAC,GAAG,IAAI,OAAO;KAC/B,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAEjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;SAChB;KACF,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAEjC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { CID } from 'multiformats/cid';
2
- import type { Ed25519PublicKey as Ed25519PublicKeyInterface, Ed25519PrivateKey as Ed25519PrivateKeyInterface } from '@libp2p/interface';
2
+ import type { Ed25519PublicKey as Ed25519PublicKeyInterface, Ed25519PrivateKey as Ed25519PrivateKeyInterface, AbortOptions } from '@libp2p/interface';
3
3
  import type { Digest } from 'multiformats/hashes/digest';
4
4
  import type { Uint8ArrayList } from 'uint8arraylist';
5
5
  export declare class Ed25519PublicKey implements Ed25519PublicKeyInterface {
@@ -10,7 +10,7 @@ export declare class Ed25519PublicKey implements Ed25519PublicKeyInterface {
10
10
  toCID(): CID<unknown, 114, 0x0, 1>;
11
11
  toString(): string;
12
12
  equals(key?: any): boolean;
13
- verify(data: Uint8Array | Uint8ArrayList, sig: Uint8Array): boolean;
13
+ verify(data: Uint8Array | Uint8ArrayList, sig: Uint8Array, options?: AbortOptions): boolean;
14
14
  }
15
15
  export declare class Ed25519PrivateKey implements Ed25519PrivateKeyInterface {
16
16
  readonly type = "Ed25519";
@@ -18,6 +18,6 @@ export declare class Ed25519PrivateKey implements Ed25519PrivateKeyInterface {
18
18
  readonly publicKey: Ed25519PublicKey;
19
19
  constructor(key: Uint8Array, publicKey: Uint8Array);
20
20
  equals(key?: any): boolean;
21
- sign(message: Uint8Array | Uint8ArrayList): Uint8Array;
21
+ sign(message: Uint8Array | Uint8ArrayList, options?: AbortOptions): Uint8Array;
22
22
  }
23
23
  //# sourceMappingURL=ed25519.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/ed25519.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,KAAK,EAAE,gBAAgB,IAAI,yBAAyB,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACvI,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,SAAgB,IAAI,aAAY;IAChC,SAAgB,GAAG,EAAE,UAAU,CAAA;gBAElB,GAAG,EAAE,UAAU;IAI5B,WAAW,IAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;IAInC,KAAK,IAAK,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAInC,QAAQ,IAAK,MAAM;IAInB,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ3B,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO;CAGrE;AAED,qBAAa,iBAAkB,YAAW,0BAA0B;IAClE,SAAgB,IAAI,aAAY;IAChC,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,SAAS,EAAE,gBAAgB,CAAA;gBAI9B,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IAKnD,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ3B,IAAI,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU;CAGxD"}
1
+ {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/ed25519.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,KAAK,EAAE,gBAAgB,IAAI,yBAAyB,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrJ,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,SAAgB,IAAI,aAAY;IAChC,SAAgB,GAAG,EAAE,UAAU,CAAA;gBAElB,GAAG,EAAE,UAAU;IAI5B,WAAW,IAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;IAInC,KAAK,IAAK,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAInC,QAAQ,IAAK,MAAM;IAInB,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ3B,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO;CAI7F;AAED,qBAAa,iBAAkB,YAAW,0BAA0B;IAClE,SAAgB,IAAI,aAAY;IAChC,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,SAAS,EAAE,gBAAgB,CAAA;gBAI9B,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IAKnD,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ3B,IAAI,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU;CAIhF"}
@@ -26,7 +26,8 @@ export class Ed25519PublicKey {
26
26
  }
27
27
  return uint8ArrayEquals(this.raw, key.raw);
28
28
  }
29
- verify(data, sig) {
29
+ verify(data, sig, options) {
30
+ options?.signal?.throwIfAborted();
30
31
  return crypto.hashAndVerify(this.raw, sig, data);
31
32
  }
32
33
  }
@@ -46,7 +47,8 @@ export class Ed25519PrivateKey {
46
47
  }
47
48
  return uint8ArrayEquals(this.raw, key.raw);
48
49
  }
49
- sign(message) {
50
+ sign(message, options) {
51
+ options?.signal?.throwIfAborted();
50
52
  return crypto.hashAndSign(this.raw, message);
51
53
  }
52
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/ed25519.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,YAAY,CAAA;AAKpC,MAAM,OAAO,gBAAgB;IACX,IAAI,GAAG,SAAS,CAAA;IAChB,GAAG,CAAY;IAE/B,YAAa,GAAe;QAC1B,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;IAC1D,CAAC;IAED,WAAW;QACT,OAAO,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,KAAK;QACH,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAE,IAAiC,EAAE,GAAe;QACxD,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACZ,IAAI,GAAG,SAAS,CAAA;IAChB,GAAG,CAAY;IACf,SAAS,CAAkB;IAE3C,wDAAwD;IACxD,uDAAuD;IACvD,YAAa,GAAe,EAAE,SAAqB;QACjD,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAE,OAAoC;QACxC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/ed25519.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,YAAY,CAAA;AAKpC,MAAM,OAAO,gBAAgB;IACX,IAAI,GAAG,SAAS,CAAA;IAChB,GAAG,CAAY;IAE/B,YAAa,GAAe;QAC1B,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;IAC1D,CAAC;IAED,WAAW;QACT,OAAO,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,KAAK;QACH,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAE,IAAiC,EAAE,GAAe,EAAE,OAAsB;QAChF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACjC,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACZ,IAAI,GAAG,SAAS,CAAA;IAChB,GAAG,CAAY;IACf,SAAS,CAAkB;IAE3C,wDAAwD;IACxD,uDAAuD;IACvD,YAAa,GAAe,EAAE,SAAqB;QACjD,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAE,OAAoC,EAAE,OAAsB;QAChE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACjC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;CACF"}
@@ -9,6 +9,6 @@ export declare function generateKey(): Uint8ArrayKeyPair;
9
9
  * Generate keypair from a 32 byte uint8array
10
10
  */
11
11
  export declare function generateKeyFromSeed(seed: Uint8Array): Uint8ArrayKeyPair;
12
- export declare function hashAndSign(key: Uint8Array, msg: Uint8Array | Uint8ArrayList): Buffer;
12
+ export declare function hashAndSign(key: Uint8Array, msg: Uint8Array | Uint8ArrayList): Uint8Array;
13
13
  export declare function hashAndVerify(key: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): boolean;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAIlC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAuBtD,wBAAgB,WAAW,IAAK,iBAAiB,CAehD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAcxE;AAED,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,MAAM,CA6BtF;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAuB1G"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAIlC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAuBtD,wBAAgB,WAAW,IAAK,iBAAiB,CAehD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAcxE;AAED,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,CA6B1F;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAuB1G"}
@@ -1,12 +1,13 @@
1
1
  import randomBytes from '../../random-bytes.js';
2
2
  import * as utils from './utils.js';
3
3
  import type { JWKKeyPair } from '../interface.js';
4
+ import type { AbortOptions } from '@libp2p/interface';
4
5
  import type { Uint8ArrayList } from 'uint8arraylist';
5
6
  export declare const RSAES_PKCS1_V1_5_OID = "1.2.840.113549.1.1.1";
6
7
  export { utils };
7
- export declare function generateRSAKey(bits: number): Promise<JWKKeyPair>;
8
+ export declare function generateRSAKey(bits: number, options?: AbortOptions): Promise<JWKKeyPair>;
8
9
  export { randomBytes as getRandomValues };
9
- export declare function hashAndSign(key: JsonWebKey, msg: Uint8Array | Uint8ArrayList): Promise<Uint8Array>;
10
- export declare function hashAndVerify(key: JsonWebKey, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): Promise<boolean>;
10
+ export declare function hashAndSign(key: JsonWebKey, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): Promise<Uint8Array>;
11
+ export declare function hashAndVerify(key: JsonWebKey, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): Promise<boolean>;
11
12
  export declare function rsaKeySize(jwk: JsonWebKey): number;
12
13
  //# sourceMappingURL=index.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/rsa/index.browser.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,wBAAsB,cAAc,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAkBvE;AAED,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,CAAA;AAEzC,wBAAsB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAmBzG;AAED,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBzH;AAaD,wBAAgB,UAAU,CAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAQnD"}
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/rsa/index.browser.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,wBAAsB,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAmB/F;AAED,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,CAAA;AAEzC,wBAAsB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAqBjI;AAED,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBjJ;AAgBD,wBAAgB,UAAU,CAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAQnD"}
@@ -5,43 +5,51 @@ import webcrypto from '../../webcrypto/index.js';
5
5
  import * as utils from './utils.js';
6
6
  export const RSAES_PKCS1_V1_5_OID = '1.2.840.113549.1.1.1';
7
7
  export { utils };
8
- export async function generateRSAKey(bits) {
8
+ export async function generateRSAKey(bits, options) {
9
9
  const pair = await webcrypto.get().subtle.generateKey({
10
10
  name: 'RSASSA-PKCS1-v1_5',
11
11
  modulusLength: bits,
12
12
  publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
13
13
  hash: { name: 'SHA-256' }
14
14
  }, true, ['sign', 'verify']);
15
- const keys = await exportKey(pair);
15
+ options?.signal?.throwIfAborted();
16
+ const keys = await exportKey(pair, options);
16
17
  return {
17
18
  privateKey: keys[0],
18
19
  publicKey: keys[1]
19
20
  };
20
21
  }
21
22
  export { randomBytes as getRandomValues };
22
- export async function hashAndSign(key, msg) {
23
+ export async function hashAndSign(key, msg, options) {
23
24
  const privateKey = await webcrypto.get().subtle.importKey('jwk', key, {
24
25
  name: 'RSASSA-PKCS1-v1_5',
25
26
  hash: { name: 'SHA-256' }
26
27
  }, false, ['sign']);
28
+ options?.signal?.throwIfAborted();
27
29
  const sig = await webcrypto.get().subtle.sign({ name: 'RSASSA-PKCS1-v1_5' }, privateKey, msg instanceof Uint8Array ? msg : msg.subarray());
30
+ options?.signal?.throwIfAborted();
28
31
  return new Uint8Array(sig, 0, sig.byteLength);
29
32
  }
30
- export async function hashAndVerify(key, sig, msg) {
33
+ export async function hashAndVerify(key, sig, msg, options) {
31
34
  const publicKey = await webcrypto.get().subtle.importKey('jwk', key, {
32
35
  name: 'RSASSA-PKCS1-v1_5',
33
36
  hash: { name: 'SHA-256' }
34
37
  }, false, ['verify']);
35
- return webcrypto.get().subtle.verify({ name: 'RSASSA-PKCS1-v1_5' }, publicKey, sig, msg instanceof Uint8Array ? msg : msg.subarray());
38
+ options?.signal?.throwIfAborted();
39
+ const result = await webcrypto.get().subtle.verify({ name: 'RSASSA-PKCS1-v1_5' }, publicKey, sig, msg instanceof Uint8Array ? msg : msg.subarray());
40
+ options?.signal?.throwIfAborted();
41
+ return result;
36
42
  }
37
- async function exportKey(pair) {
43
+ async function exportKey(pair, options) {
38
44
  if (pair.privateKey == null || pair.publicKey == null) {
39
45
  throw new InvalidParametersError('Private and public key are required');
40
46
  }
41
- return Promise.all([
47
+ const result = await Promise.all([
42
48
  webcrypto.get().subtle.exportKey('jwk', pair.privateKey),
43
49
  webcrypto.get().subtle.exportKey('jwk', pair.publicKey)
44
50
  ]);
51
+ options?.signal?.throwIfAborted();
52
+ return result;
45
53
  }
46
54
  export function rsaKeySize(jwk) {
47
55
  if (jwk.kty !== 'RSA') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/rsa/index.browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/rsa/index.browser.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import randomBytes from '../../random-bytes.js';
2
2
  import * as utils from './utils.js';
3
3
  import type { JWKKeyPair } from '../interface.js';
4
+ import type { AbortOptions } from '@libp2p/interface';
4
5
  import type { Uint8ArrayList } from 'uint8arraylist';
5
6
  export declare const RSAES_PKCS1_V1_5_OID = "1.2.840.113549.1.1.1";
6
7
  export { utils };
7
- export declare function generateRSAKey(bits: number): Promise<JWKKeyPair>;
8
+ export declare function generateRSAKey(bits: number, options?: AbortOptions): Promise<JWKKeyPair>;
8
9
  export { randomBytes as getRandomValues };
9
- export declare function hashAndSign(key: JsonWebKey, msg: Uint8Array | Uint8ArrayList): Promise<Uint8Array>;
10
- export declare function hashAndVerify(key: JsonWebKey, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): Promise<boolean>;
10
+ export declare function hashAndSign(key: JsonWebKey, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): Uint8Array;
11
+ export declare function hashAndVerify(key: JsonWebKey, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): boolean;
11
12
  export declare function rsaKeySize(jwk: JsonWebKey): number;
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/rsa/index.ts"],"names":[],"mappings":"AAIA,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAE1D,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,wBAAsB,cAAc,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAcvE;AAED,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,CAAA;AAEzC,wBAAsB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAazG;AAED,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAazH;AAED,wBAAgB,UAAU,CAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAQnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/rsa/index.ts"],"names":[],"mappings":"AAIA,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAE1D,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,wBAAsB,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAe/F;AAED,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,CAAA;AAEzC,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,CAelH;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAelI;AAED,wBAAgB,UAAU,CAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAQnD"}
@@ -1,5 +1,5 @@
1
- import crypto from 'crypto';
2
- import { promisify } from 'util';
1
+ import crypto from 'node:crypto';
2
+ import { promisify } from 'node:util';
3
3
  import { InvalidParametersError } from '@libp2p/interface';
4
4
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
5
5
  import randomBytes from '../../random-bytes.js';
@@ -7,13 +7,14 @@ import * as utils from './utils.js';
7
7
  const keypair = promisify(crypto.generateKeyPair);
8
8
  export const RSAES_PKCS1_V1_5_OID = '1.2.840.113549.1.1.1';
9
9
  export { utils };
10
- export async function generateRSAKey(bits) {
10
+ export async function generateRSAKey(bits, options) {
11
11
  // @ts-expect-error node types are missing jwk as a format
12
12
  const key = await keypair('rsa', {
13
13
  modulusLength: bits,
14
14
  publicKeyEncoding: { type: 'pkcs1', format: 'jwk' },
15
15
  privateKeyEncoding: { type: 'pkcs1', format: 'jwk' }
16
16
  });
17
+ options?.signal?.throwIfAborted();
17
18
  return {
18
19
  // @ts-expect-error node types are missing jwk as a format
19
20
  privateKey: key.privateKey,
@@ -22,7 +23,8 @@ export async function generateRSAKey(bits) {
22
23
  };
23
24
  }
24
25
  export { randomBytes as getRandomValues };
25
- export async function hashAndSign(key, msg) {
26
+ export function hashAndSign(key, msg, options) {
27
+ options?.signal?.throwIfAborted();
26
28
  const hash = crypto.createSign('RSA-SHA256');
27
29
  if (msg instanceof Uint8Array) {
28
30
  hash.update(msg);
@@ -35,7 +37,8 @@ export async function hashAndSign(key, msg) {
35
37
  // @ts-expect-error node types are missing jwk as a format
36
38
  return hash.sign({ format: 'jwk', key });
37
39
  }
38
- export async function hashAndVerify(key, sig, msg) {
40
+ export function hashAndVerify(key, sig, msg, options) {
41
+ options?.signal?.throwIfAborted();
39
42
  const hash = crypto.createVerify('RSA-SHA256');
40
43
  if (msg instanceof Uint8Array) {
41
44
  hash.update(msg);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keys/rsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAInC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAE1D,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,IAAY;IAChD,0DAA0D;IAC1D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE;QAC/B,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QACnD,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;KACrD,CAAC,CAAA;IAEF,OAAO;QACL,0DAA0D;QAC1D,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,0DAA0D;QAC1D,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAA;AACH,CAAC;AAED,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,CAAA;AAEzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,GAAe,EAAE,GAAgC;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAE5C,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAE,GAAe,EAAE,GAAe,EAAE,GAAgC;IACrG,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IAE9C,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAE,GAAe;IACzC,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;IACtD,CAAC;SAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,CAAC,CAAA;IACzD,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IACxD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keys/rsa/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CID } from 'multiformats/cid';
2
- import type { RSAPublicKey as RSAPublicKeyInterface, RSAPrivateKey as RSAPrivateKeyInterface } from '@libp2p/interface';
2
+ import type { RSAPublicKey as RSAPublicKeyInterface, RSAPrivateKey as RSAPrivateKeyInterface, AbortOptions } from '@libp2p/interface';
3
3
  import type { Digest } from 'multiformats/hashes/digest';
4
4
  import type { Uint8ArrayList } from 'uint8arraylist';
5
5
  export declare class RSAPublicKey implements RSAPublicKeyInterface {
@@ -13,7 +13,7 @@ export declare class RSAPublicKey implements RSAPublicKeyInterface {
13
13
  toCID(): CID<unknown, 114, 18, 1>;
14
14
  toString(): string;
15
15
  equals(key?: any): boolean;
16
- verify(data: Uint8Array | Uint8ArrayList, sig: Uint8Array): boolean | Promise<boolean>;
16
+ verify(data: Uint8Array | Uint8ArrayList, sig: Uint8Array, options?: AbortOptions): boolean | Promise<boolean>;
17
17
  }
18
18
  export declare class RSAPrivateKey implements RSAPrivateKeyInterface {
19
19
  readonly type = "RSA";
@@ -23,6 +23,6 @@ export declare class RSAPrivateKey implements RSAPrivateKeyInterface {
23
23
  constructor(jwk: JsonWebKey, publicKey: RSAPublicKey);
24
24
  get raw(): Uint8Array;
25
25
  equals(key: any): boolean;
26
- sign(message: Uint8Array | Uint8ArrayList): Uint8Array | Promise<Uint8Array>;
26
+ sign(message: Uint8Array | Uint8ArrayList, options?: AbortOptions): Uint8Array | Promise<Uint8Array>;
27
27
  }
28
28
  //# sourceMappingURL=rsa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rsa.d.ts","sourceRoot":"","sources":["../../../../src/keys/rsa/rsa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,KAAK,EAAE,YAAY,IAAI,qBAAqB,EAAE,aAAa,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AACvH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,qBAAa,YAAa,YAAW,qBAAqB;IACxD,SAAgB,IAAI,SAAQ;IAC5B,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAElC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;IAKxD,IAAI,GAAG,IAAK,UAAU,CAMrB;IAED,WAAW,IAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;IAIlC,KAAK,IAAK,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAIlC,QAAQ,IAAK,MAAM;IAInB,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ3B,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAGxF;AAED,qBAAa,aAAc,YAAW,sBAAsB;IAC1D,SAAgB,IAAI,SAAQ;IAC5B,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,SAAgB,SAAS,EAAE,YAAY,CAAA;gBAE1B,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;IAKrD,IAAI,GAAG,IAAK,UAAU,CAMrB;IAED,MAAM,CAAE,GAAG,EAAE,GAAG,GAAG,OAAO;IAQ1B,IAAI,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAG9E"}
1
+ {"version":3,"file":"rsa.d.ts","sourceRoot":"","sources":["../../../../src/keys/rsa/rsa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,KAAK,EAAE,YAAY,IAAI,qBAAqB,EAAE,aAAa,IAAI,sBAAsB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrI,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,qBAAa,YAAa,YAAW,qBAAqB;IACxD,SAAgB,IAAI,SAAQ;IAC5B,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAElC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;IAKxD,IAAI,GAAG,IAAK,UAAU,CAMrB;IAED,WAAW,IAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;IAIlC,KAAK,IAAK,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAIlC,QAAQ,IAAK,MAAM;IAInB,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ3B,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAGhH;AAED,qBAAa,aAAc,YAAW,sBAAsB;IAC1D,SAAgB,IAAI,SAAQ;IAC5B,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,SAAgB,SAAS,EAAE,YAAY,CAAA;gBAE1B,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;IAKrD,IAAI,GAAG,IAAK,UAAU,CAMrB;IAED,MAAM,CAAE,GAAG,EAAE,GAAG,GAAG,OAAO;IAQ1B,IAAI,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAGtG"}
@@ -32,8 +32,8 @@ export class RSAPublicKey {
32
32
  }
33
33
  return uint8ArrayEquals(this.raw, key.raw);
34
34
  }
35
- verify(data, sig) {
36
- return hashAndVerify(this.jwk, sig, data);
35
+ verify(data, sig, options) {
36
+ return hashAndVerify(this.jwk, sig, data, options);
37
37
  }
38
38
  }
39
39
  export class RSAPrivateKey {
@@ -57,8 +57,8 @@ export class RSAPrivateKey {
57
57
  }
58
58
  return uint8ArrayEquals(this.raw, key.raw);
59
59
  }
60
- sign(message) {
61
- return hashAndSign(this.jwk, message);
60
+ sign(message, options) {
61
+ return hashAndSign(this.jwk, message, options);
62
62
  }
63
63
  }
64
64
  //# sourceMappingURL=rsa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rsa.js","sourceRoot":"","sources":["../../../../src/keys/rsa/rsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAK9D,MAAM,OAAO,YAAY;IACP,IAAI,GAAG,KAAK,CAAA;IACZ,GAAG,CAAY;IACvB,IAAI,CAAa;IACR,UAAU,CAAoB;IAE/C,YAAa,GAAe,EAAE,MAA0B;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;IAC1B,CAAC;IAED,IAAI,GAAG;QACL,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,KAAK;QACH,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAE,IAAiC,EAAE,GAAe;QACxD,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACR,IAAI,GAAG,KAAK,CAAA;IACZ,GAAG,CAAY;IACvB,IAAI,CAAa;IACT,SAAS,CAAc;IAEvC,YAAa,GAAe,EAAE,SAAuB;QACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,IAAI,GAAG;QACL,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,CAAE,GAAQ;QACd,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAE,OAAoC;QACxC,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"rsa.js","sourceRoot":"","sources":["../../../../src/keys/rsa/rsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAK9D,MAAM,OAAO,YAAY;IACP,IAAI,GAAG,KAAK,CAAA;IACZ,GAAG,CAAY;IACvB,IAAI,CAAa;IACR,UAAU,CAAoB;IAE/C,YAAa,GAAe,EAAE,MAA0B;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;IAC1B,CAAC;IAED,IAAI,GAAG;QACL,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,KAAK;QACH,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAE,IAAiC,EAAE,GAAe,EAAE,OAAsB;QAChF,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACR,IAAI,GAAG,KAAK,CAAA;IACZ,GAAG,CAAY;IACvB,IAAI,CAAa;IACT,SAAS,CAAc;IAEvC,YAAa,GAAe,EAAE,SAAuB;QACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,IAAI,GAAG;QACL,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,CAAE,GAAQ;QACd,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAE,OAAoC,EAAE,OAAsB;QAChE,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
+ import type { AbortOptions } from '@libp2p/interface';
1
2
  import type { Uint8ArrayList } from 'uint8arraylist';
2
3
  declare const PUBLIC_KEY_BYTE_LENGTH = 33;
3
4
  declare const PRIVATE_KEY_BYTE_LENGTH = 32;
@@ -6,9 +7,9 @@ export { PRIVATE_KEY_BYTE_LENGTH as privateKeyLength };
6
7
  /**
7
8
  * Hash and sign message with private key
8
9
  */
9
- export declare function hashAndSign(key: Uint8Array, msg: Uint8Array | Uint8ArrayList): Uint8Array | Promise<Uint8Array>;
10
+ export declare function hashAndSign(key: Uint8Array, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): Uint8Array | Promise<Uint8Array>;
10
11
  /**
11
12
  * Hash message and verify signature with public key
12
13
  */
13
- export declare function hashAndVerify(key: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): boolean | Promise<boolean>;
14
+ export declare function hashAndVerify(key: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): boolean | Promise<boolean>;
14
15
  //# sourceMappingURL=index.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAehH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAe7H"}
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAuBxI;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBrJ"}
@@ -9,11 +9,18 @@ export { PRIVATE_KEY_BYTE_LENGTH as privateKeyLength };
9
9
  /**
10
10
  * Hash and sign message with private key
11
11
  */
12
- export function hashAndSign(key, msg) {
12
+ export function hashAndSign(key, msg, options) {
13
13
  const p = sha256.digest(msg instanceof Uint8Array ? msg : msg.subarray());
14
14
  if (isPromise(p)) {
15
- return p.then(({ digest }) => secp.sign(digest, key).toDERRawBytes())
15
+ return p
16
+ .then(({ digest }) => {
17
+ options?.signal?.throwIfAborted();
18
+ return secp.sign(digest, key).toDERRawBytes();
19
+ })
16
20
  .catch(err => {
21
+ if (err.name === 'AbortError') {
22
+ throw err;
23
+ }
17
24
  throw new SigningError(String(err));
18
25
  });
19
26
  }
@@ -27,15 +34,23 @@ export function hashAndSign(key, msg) {
27
34
  /**
28
35
  * Hash message and verify signature with public key
29
36
  */
30
- export function hashAndVerify(key, sig, msg) {
37
+ export function hashAndVerify(key, sig, msg, options) {
31
38
  const p = sha256.digest(msg instanceof Uint8Array ? msg : msg.subarray());
32
39
  if (isPromise(p)) {
33
- return p.then(({ digest }) => secp.verify(sig, digest, key))
40
+ return p
41
+ .then(({ digest }) => {
42
+ options?.signal?.throwIfAborted();
43
+ return secp.verify(sig, digest, key);
44
+ })
34
45
  .catch(err => {
46
+ if (err.name === 'AbortError') {
47
+ throw err;
48
+ }
35
49
  throw new VerificationError(String(err));
36
50
  });
37
51
  }
38
52
  try {
53
+ options?.signal?.throwIfAborted();
39
54
  return secp.verify(sig, p.digest, key);
40
55
  }
41
56
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGzC,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACjC,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAE,GAAe,EAAE,GAAgC;IAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEzE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;aAClE,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAA;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAE,GAAe,EAAE,GAAe,EAAE,GAAgC;IAC/F,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEzE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;aACzD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.browser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AbortOptions } from '@libp2p/interface';
1
2
  import type { Uint8ArrayList } from 'uint8arraylist';
2
3
  declare const PUBLIC_KEY_BYTE_LENGTH = 33;
3
4
  declare const PRIVATE_KEY_BYTE_LENGTH = 32;
@@ -6,9 +7,9 @@ export { PRIVATE_KEY_BYTE_LENGTH as privateKeyLength };
6
7
  /**
7
8
  * Hash and sign message with private key
8
9
  */
9
- export declare function hashAndSign(key: Uint8Array, msg: Uint8Array | Uint8ArrayList): Uint8Array;
10
+ export declare function hashAndSign(key: Uint8Array, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): Uint8Array;
10
11
  /**
11
12
  * Hash message and verify signature with public key
12
13
  */
13
- export declare function hashAndVerify(key: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): boolean;
14
+ export declare function hashAndVerify(key: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList, options?: AbortOptions): boolean;
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,CAmB1F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAkB1G"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,CAqBlH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAmBlI"}
@@ -8,7 +8,8 @@ export { PRIVATE_KEY_BYTE_LENGTH as privateKeyLength };
8
8
  /**
9
9
  * Hash and sign message with private key
10
10
  */
11
- export function hashAndSign(key, msg) {
11
+ export function hashAndSign(key, msg, options) {
12
+ options?.signal?.throwIfAborted();
12
13
  const hash = crypto.createHash('sha256');
13
14
  if (msg instanceof Uint8Array) {
14
15
  hash.update(msg);
@@ -30,7 +31,8 @@ export function hashAndSign(key, msg) {
30
31
  /**
31
32
  * Hash message and verify signature with public key
32
33
  */
33
- export function hashAndVerify(key, sig, msg) {
34
+ export function hashAndVerify(key, sig, msg, options) {
35
+ options?.signal?.throwIfAborted();
34
36
  const hash = crypto.createHash('sha256');
35
37
  if (msg instanceof Uint8Array) {
36
38
  hash.update(msg);