@lindorm/ec 0.2.10 → 0.3.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +27 -13
  3. package/dist/classes/EcKit.d.ts +2 -2
  4. package/dist/classes/EcKit.d.ts.map +1 -1
  5. package/dist/classes/EcKit.js +11 -15
  6. package/dist/classes/EcKit.js.map +1 -1
  7. package/dist/classes/index.d.ts +1 -1
  8. package/dist/classes/index.d.ts.map +1 -1
  9. package/dist/classes/index.js +1 -17
  10. package/dist/classes/index.js.map +1 -1
  11. package/dist/errors/EcError.js +2 -6
  12. package/dist/errors/EcError.js.map +1 -1
  13. package/dist/errors/index.d.ts +1 -1
  14. package/dist/errors/index.d.ts.map +1 -1
  15. package/dist/errors/index.js +1 -17
  16. package/dist/errors/index.js.map +1 -1
  17. package/dist/index.d.ts +3 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -19
  20. package/dist/index.js.map +1 -1
  21. package/dist/{utils/private → internal}/ec-signature.d.ts +1 -1
  22. package/dist/internal/ec-signature.d.ts.map +1 -0
  23. package/dist/internal/ec-signature.js +38 -0
  24. package/dist/internal/ec-signature.js.map +1 -0
  25. package/dist/{utils/private → internal}/get-key.d.ts +1 -1
  26. package/dist/internal/get-key.d.ts.map +1 -0
  27. package/dist/internal/get-key.js +16 -0
  28. package/dist/internal/get-key.js.map +1 -0
  29. package/dist/internal/index.d.ts +5 -0
  30. package/dist/internal/index.d.ts.map +1 -0
  31. package/dist/internal/index.js +5 -0
  32. package/dist/internal/index.js.map +1 -0
  33. package/dist/internal/map-algorithm.d.ts +4 -0
  34. package/dist/internal/map-algorithm.d.ts.map +1 -0
  35. package/dist/internal/map-algorithm.js +16 -0
  36. package/dist/internal/map-algorithm.js.map +1 -0
  37. package/dist/{utils/private → internal}/raw.d.ts +1 -1
  38. package/dist/internal/raw.d.ts.map +1 -0
  39. package/dist/{utils/private → internal}/raw.js +6 -11
  40. package/dist/internal/raw.js.map +1 -0
  41. package/dist/types/ec-kit.d.ts +2 -2
  42. package/dist/types/ec-kit.d.ts.map +1 -1
  43. package/dist/types/ec-kit.js +1 -2
  44. package/dist/types/index.d.ts +1 -1
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/dist/types/index.js +1 -17
  47. package/dist/types/index.js.map +1 -1
  48. package/package.json +16 -12
  49. package/vitest.config.mjs +3 -0
  50. package/dist/utils/private/ec-signature.d.ts.map +0 -1
  51. package/dist/utils/private/ec-signature.js +0 -44
  52. package/dist/utils/private/ec-signature.js.map +0 -1
  53. package/dist/utils/private/get-key.d.ts.map +0 -1
  54. package/dist/utils/private/get-key.js +0 -21
  55. package/dist/utils/private/get-key.js.map +0 -1
  56. package/dist/utils/private/index.d.ts +0 -5
  57. package/dist/utils/private/index.d.ts.map +0 -1
  58. package/dist/utils/private/index.js +0 -21
  59. package/dist/utils/private/index.js.map +0 -1
  60. package/dist/utils/private/map-algorithm.d.ts +0 -4
  61. package/dist/utils/private/map-algorithm.d.ts.map +0 -1
  62. package/dist/utils/private/map-algorithm.js +0 -20
  63. package/dist/utils/private/map-algorithm.js.map +0 -1
  64. package/dist/utils/private/raw.d.ts.map +0 -1
  65. package/dist/utils/private/raw.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.3.0](https://github.com/lindorm-io/monorepo/compare/@lindorm/ec@0.2.11...@lindorm/ec@0.3.0) (2026-05-02)
7
+
8
+ ### Features
9
+
10
+ - migrate 20 packages from jest to vitest ([d8bfda8](https://github.com/lindorm-io/monorepo/commit/d8bfda8854dc1cb9537ba0b3e47ec4e4c7bded08))
11
+
12
+ ## [0.2.11](https://github.com/lindorm-io/monorepo/compare/@lindorm/ec@0.2.10...@lindorm/ec@0.2.11) (2026-04-19)
13
+
14
+ **Note:** Version bump only for package @lindorm/ec
15
+
6
16
  ## [0.2.10](https://github.com/lindorm-io/monorepo/compare/@lindorm/ec@0.2.9...@lindorm/ec@0.2.10) (2026-04-15)
7
17
 
8
18
  **Note:** Version bump only for package @lindorm/ec
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # @lindorm/ec
2
2
 
3
- ECDSA digital signature kit built on Node's `crypto` module and [`@lindorm/kryptos`](../kryptos). Provides an `EcKit` class that implements the `IKeyKit` contract used across the Lindorm cryptography packages.
3
+ ECDSA signing kit built on Node's `crypto` module and [`@lindorm/kryptos`](https://www.npmjs.com/package/@lindorm/kryptos). Provides an `EcKit` class that implements the `IKeyKit` contract used across the Lindorm cryptography packages.
4
+
5
+ This package is **ESM-only**.
4
6
 
5
7
  ## Installation
6
8
 
@@ -8,6 +10,17 @@ ECDSA digital signature kit built on Node's `crypto` module and [`@lindorm/krypt
8
10
  npm install @lindorm/ec
9
11
  ```
10
12
 
13
+ `EcKit` accepts an `IKryptos` instance constructed by the consumer, so [`@lindorm/kryptos`](https://www.npmjs.com/package/@lindorm/kryptos) must also be installed in your project.
14
+
15
+ ## Features
16
+
17
+ - Sign, verify, and assert ECDSA signatures over `Buffer` or `string` input
18
+ - Supports `ES256`, `ES384`, and `ES512` (P-256 / P-384 / P-521 curves)
19
+ - DSA encoding selectable between `der` and `ieee-p1363`
20
+ - Optional raw `r||s` signature output for JWT/JWS interop
21
+ - Configurable string output encoding via Node's `BufferEncoding`
22
+ - Rejects non-EC keys and EC encryption algorithms at construction time
23
+
11
24
  ## Quick Start
12
25
 
13
26
  ```typescript
@@ -17,16 +30,12 @@ import { KryptosKit } from "@lindorm/kryptos";
17
30
  const kryptos = KryptosKit.generate.sig.ec({ algorithm: "ES512" });
18
31
  const kit = new EcKit({ kryptos });
19
32
 
20
- // Sign
21
33
  const signature = kit.sign("hello world");
22
34
 
23
- // Verify
24
35
  kit.verify("hello world", signature); // true
25
36
 
26
- // Assert (throws EcError if invalid)
27
- kit.assert("hello world", signature);
37
+ kit.assert("hello world", signature); // throws EcError if invalid
28
38
 
29
- // Format Buffer to string
30
39
  kit.format(signature); // base64 string
31
40
  ```
32
41
 
@@ -36,12 +45,12 @@ kit.format(signature); // base64 string
36
45
  new EcKit({
37
46
  kryptos, // IKryptos — must be an EC key with a signing algorithm
38
47
  dsa: "der", // DsaEncoding — "der" | "ieee-p1363" (default: "der")
39
- encoding: "base64", // BufferEncoding — output encoding (default: "base64")
40
- raw: false, // boolean — use raw r||s concatenation (default: false)
48
+ encoding: "base64", // BufferEncoding — string encoding for verify/format (default: "base64")
49
+ raw: false, // boolean — emit/accept raw r||s signatures (default: false)
41
50
  });
42
51
  ```
43
52
 
44
- The constructor validates that the key is an EC type with a supported signing algorithm (ES256, ES384, ES512). Encryption keys (ECDH-ES etc.) are rejected with an `EcError`.
53
+ The constructor validates that the key is an EC key with one of the supported signing algorithms (`ES256`, `ES384`, `ES512`). EC encryption keys (e.g. `ECDH-ES`) and non-EC keys are rejected with an `EcError`.
45
54
 
46
55
  ## API
47
56
 
@@ -56,6 +65,11 @@ class EcKit implements IKeyKit {
56
65
 
57
66
  `KeyData` is `Buffer | string`.
58
67
 
68
+ - `sign(data)` — produces a DER-encoded signature, or raw `r||s` if `raw: true` was passed to the constructor.
69
+ - `verify(data, signature)` — returns `true` if the signature is valid. String signatures are decoded using the configured `encoding`.
70
+ - `assert(data, signature)` — same as `verify`, but throws `EcError` instead of returning `false`.
71
+ - `format(buffer)` — encodes a signature `Buffer` to a string using the configured `encoding`.
72
+
59
73
  ## Supported Algorithms
60
74
 
61
75
  | Algorithm | Curve | Hash |
@@ -66,14 +80,14 @@ class EcKit implements IKeyKit {
66
80
 
67
81
  ## DSA Encoding
68
82
 
69
- - **DER** (default) -- standard ASN.1 format
70
- - **IEEE-P1363** -- fixed-length format used in some protocols
83
+ - `der` (default) standard ASN.1 DER encoding produced by Node's `crypto`.
84
+ - `ieee-p1363` fixed-length encoding produced by Node's `crypto` when `dsaEncoding` is set.
71
85
 
72
- The `raw` option controls whether signatures use raw r||s concatenation, which is useful for JWT/JWS compatibility.
86
+ The separate `raw` option produces or accepts a manually built `r||s` concatenation (each component padded to the curve's byte size). This is useful for JWT/JWS compatibility where the wire format is raw `r||s`.
73
87
 
74
88
  ## Error Handling
75
89
 
76
- All errors are `EcError` instances:
90
+ All errors thrown by this package are instances of `EcError`:
77
91
 
78
92
  ```typescript
79
93
  import { EcError } from "@lindorm/ec";
@@ -1,5 +1,5 @@
1
- import { IKeyKit, KeyData } from "@lindorm/types";
2
- import { EcKitOptions } from "../types";
1
+ import type { IKeyKit, KeyData } from "@lindorm/types";
2
+ import type { EcKitOptions } from "../types/index.js";
3
3
  export declare class EcKit implements IKeyKit {
4
4
  private readonly dsa;
5
5
  private readonly encoding;
@@ -1 +1 @@
1
- {"version":3,"file":"EcKit.d.ts","sourceRoot":"","sources":["../../src/classes/EcKit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAOxC,qBAAa,KAAM,YAAW,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;gBAEX,OAAO,EAAE,YAAY;IAgBjC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAS3B,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO;IAWlD,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAW/C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGpC"}
1
+ {"version":3,"file":"EcKit.d.ts","sourceRoot":"","sources":["../../src/classes/EcKit.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOtD,qBAAa,KAAM,YAAW,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;gBAEX,OAAO,EAAE,YAAY;IAgBjC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAS3B,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO;IAWlD,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAW/C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGpC"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EcKit = void 0;
4
- const kryptos_1 = require("@lindorm/kryptos");
5
- const errors_1 = require("../errors");
6
- const private_1 = require("../utils/private");
7
- class EcKit {
1
+ import { EC_SIG_ALGORITHMS, KryptosKit, } from "@lindorm/kryptos";
2
+ import { EcError } from "../errors/index.js";
3
+ import { assertEcSignature, createEcSignature, verifyEcSignature, } from "../internal/index.js";
4
+ export class EcKit {
8
5
  dsa;
9
6
  encoding;
10
7
  kryptos;
@@ -13,16 +10,16 @@ class EcKit {
13
10
  this.dsa = options.dsa ?? "der";
14
11
  this.encoding = options.encoding ?? "base64";
15
12
  this.raw = options.raw ?? false;
16
- if (!kryptos_1.KryptosKit.isEc(options.kryptos)) {
17
- throw new errors_1.EcError("Invalid Kryptos instance");
13
+ if (!KryptosKit.isEc(options.kryptos)) {
14
+ throw new EcError("Invalid Kryptos instance");
18
15
  }
19
- if (!kryptos_1.EC_SIG_ALGORITHMS.includes(options.kryptos.algorithm)) {
20
- throw new errors_1.EcError("EcKit only supports signing algorithms (ES256, ES384, ES512)");
16
+ if (!EC_SIG_ALGORITHMS.includes(options.kryptos.algorithm)) {
17
+ throw new EcError("EcKit only supports signing algorithms (ES256, ES384, ES512)");
21
18
  }
22
19
  this.kryptos = options.kryptos;
23
20
  }
24
21
  sign(data) {
25
- return (0, private_1.createEcSignature)({
22
+ return createEcSignature({
26
23
  data,
27
24
  dsaEncoding: this.dsa,
28
25
  kryptos: this.kryptos,
@@ -30,7 +27,7 @@ class EcKit {
30
27
  });
31
28
  }
32
29
  verify(data, signature) {
33
- return (0, private_1.verifyEcSignature)({
30
+ return verifyEcSignature({
34
31
  data,
35
32
  dsaEncoding: this.dsa,
36
33
  encoding: this.encoding,
@@ -40,7 +37,7 @@ class EcKit {
40
37
  });
41
38
  }
42
39
  assert(data, signature) {
43
- return (0, private_1.assertEcSignature)({
40
+ return assertEcSignature({
44
41
  data,
45
42
  dsaEncoding: this.dsa,
46
43
  encoding: this.encoding,
@@ -53,5 +50,4 @@ class EcKit {
53
50
  return data.toString(this.encoding);
54
51
  }
55
52
  }
56
- exports.EcKit = EcKit;
57
53
  //# sourceMappingURL=EcKit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcKit.js","sourceRoot":"","sources":["../../src/classes/EcKit.ts"],"names":[],"mappings":";;;AAAA,8CAK0B;AAE1B,sCAAoC;AAEpC,8CAI0B;AAE1B,MAAa,KAAK;IACC,GAAG,CAAc;IACjB,QAAQ,CAAiB;IACzB,OAAO,CAAa;IACpB,GAAG,CAAU;IAE9B,YAAmB,OAAqB;QACtC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;QAC7C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC;QAEhC,IAAI,CAAC,oBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,gBAAO,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,2BAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAA2B,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,gBAAO,CAAC,8DAA8D,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAEM,IAAI,CAAC,IAAa;QACvB,OAAO,IAAA,2BAAiB,EAAC;YACvB,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,GAAG;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAa,EAAE,SAAkB;QAC7C,OAAO,IAAA,2BAAiB,EAAC;YACvB,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,GAAG;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAa,EAAE,SAAkB;QAC7C,OAAO,IAAA,2BAAiB,EAAC;YACvB,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,GAAG;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF;AAxDD,sBAwDC"}
1
+ {"version":3,"file":"EcKit.js","sourceRoot":"","sources":["../../src/classes/EcKit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGjB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,OAAO,KAAK;IACC,GAAG,CAAc;IACjB,QAAQ,CAAiB;IACzB,OAAO,CAAa;IACpB,GAAG,CAAU;IAE9B,YAAmB,OAAqB;QACtC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;QAC7C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC;QAEhC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAA2B,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,OAAO,CAAC,8DAA8D,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAEM,IAAI,CAAC,IAAa;QACvB,OAAO,iBAAiB,CAAC;YACvB,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,GAAG;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAa,EAAE,SAAkB;QAC7C,OAAO,iBAAiB,CAAC;YACvB,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,GAAG;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAa,EAAE,SAAkB;QAC7C,OAAO,iBAAiB,CAAC;YACvB,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,GAAG;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -1,2 +1,2 @@
1
- export * from "./EcKit";
1
+ export * from "./EcKit.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./EcKit"), exports);
1
+ export * from "./EcKit.js";
18
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EcError = void 0;
4
- const errors_1 = require("@lindorm/errors");
5
- class EcError extends errors_1.LindormError {
1
+ import { LindormError } from "@lindorm/errors";
2
+ export class EcError extends LindormError {
6
3
  }
7
- exports.EcError = EcError;
8
4
  //# sourceMappingURL=EcError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcError.js","sourceRoot":"","sources":["../../src/errors/EcError.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAE/C,MAAa,OAAQ,SAAQ,qBAAY;CAAG;AAA5C,0BAA4C"}
1
+ {"version":3,"file":"EcError.js","sourceRoot":"","sources":["../../src/errors/EcError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,OAAQ,SAAQ,YAAY;CAAG"}
@@ -1,2 +1,2 @@
1
- export * from "./EcError";
1
+ export * from "./EcError.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./EcError"), exports);
1
+ export * from "./EcError.js";
18
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from "./classes";
2
- export * from "./errors";
3
- export * from "./types";
1
+ export * from "./classes/index.js";
2
+ export * from "./errors/index.js";
3
+ export * from "./types/index.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,20 +1,4 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./classes"), exports);
18
- __exportStar(require("./errors"), exports);
19
- __exportStar(require("./types"), exports);
1
+ export * from "./classes/index.js";
2
+ export * from "./errors/index.js";
3
+ export * from "./types/index.js";
20
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CreateEcSignatureOptions, VerifyEcSignatureOptions } from "../../types/ec-kit";
1
+ import type { CreateEcSignatureOptions, VerifyEcSignatureOptions } from "../types/ec-kit.js";
2
2
  export declare const createEcSignature: ({ data, dsaEncoding, kryptos, raw, }: CreateEcSignatureOptions) => Buffer;
3
3
  export declare const verifyEcSignature: ({ data, dsaEncoding, encoding, kryptos, raw, signature, }: VerifyEcSignatureOptions) => boolean;
4
4
  export declare const assertEcSignature: ({ data, dsaEncoding, encoding, kryptos, raw, signature, }: VerifyEcSignatureOptions) => void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ec-signature.d.ts","sourceRoot":"","sources":["../../src/internal/ec-signature.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,iBAAiB,GAAI,sCAK/B,wBAAwB,KAAG,MAW7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,2DAO/B,wBAAwB,KAAG,OAkB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,2DAO/B,wBAAwB,KAAG,IAG7B,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { isBuffer, isString } from "@lindorm/is";
2
+ import { createSign, createVerify } from "crypto";
3
+ import { EcError } from "../errors/index.js";
4
+ import { getSignKey, getVerifyKey } from "./get-key.js";
5
+ import { mapEcAlgorithm } from "./map-algorithm.js";
6
+ import { derToRaw, rawToDer } from "./raw.js";
7
+ export const createEcSignature = ({ data, dsaEncoding, kryptos, raw, }) => {
8
+ const signature = createSign(mapEcAlgorithm(kryptos))
9
+ .update(data)
10
+ .end()
11
+ .sign({ key: getSignKey(kryptos), dsaEncoding });
12
+ if (raw) {
13
+ return derToRaw(kryptos, signature);
14
+ }
15
+ return signature;
16
+ };
17
+ export const verifyEcSignature = ({ data, dsaEncoding, encoding, kryptos, raw, signature, }) => {
18
+ let buffer;
19
+ if (raw) {
20
+ buffer = rawToDer(kryptos, isBuffer(signature) ? signature : Buffer.from(signature, encoding));
21
+ }
22
+ else if (isString(signature)) {
23
+ buffer = Buffer.from(signature, encoding);
24
+ }
25
+ else {
26
+ buffer = signature;
27
+ }
28
+ return createVerify(mapEcAlgorithm(kryptos))
29
+ .update(data)
30
+ .end()
31
+ .verify({ key: getVerifyKey(kryptos), dsaEncoding }, buffer);
32
+ };
33
+ export const assertEcSignature = ({ data, dsaEncoding, encoding, kryptos, raw, signature, }) => {
34
+ if (verifyEcSignature({ data, dsaEncoding, encoding, kryptos, raw, signature }))
35
+ return;
36
+ throw new EcError("Invalid signature");
37
+ };
38
+ //# sourceMappingURL=ec-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ec-signature.js","sourceRoot":"","sources":["../../src/internal/ec-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,OAAO,EACP,GAAG,GACsB,EAAU,EAAE;IACrC,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAClD,MAAM,CAAC,IAAI,CAAC;SACZ,GAAG,EAAE;SACL,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEnD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,OAAO,EACP,GAAG,EACH,SAAS,GACgB,EAAW,EAAE;IACtC,IAAI,MAAc,CAAC;IAEnB,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,QAAQ,CACf,OAAO,EACP,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CACnE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SACzC,MAAM,CAAC,IAAI,CAAC;SACZ,GAAG,EAAE;SACL,MAAM,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,OAAO,EACP,GAAG,EACH,SAAS,GACgB,EAAQ,EAAE;IACnC,IAAI,iBAAiB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QAAE,OAAO;IACxF,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACzC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IKryptosEc } from "@lindorm/kryptos";
1
+ import type { IKryptosEc } from "@lindorm/kryptos";
2
2
  export declare const getSignKey: (kryptos: IKryptosEc) => string;
3
3
  export declare const getVerifyKey: (kryptos: IKryptosEc) => string;
4
4
  //# sourceMappingURL=get-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-key.d.ts","sourceRoot":"","sources":["../../src/internal/get-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,UAAU,GAAI,SAAS,UAAU,KAAG,MAQhD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,UAAU,KAAG,MAQlD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { EcError } from "../errors/index.js";
2
+ export const getSignKey = (kryptos) => {
3
+ const { privateKey } = kryptos.export("pem");
4
+ if (!privateKey) {
5
+ throw new EcError("Missing private key");
6
+ }
7
+ return privateKey;
8
+ };
9
+ export const getVerifyKey = (kryptos) => {
10
+ const { publicKey } = kryptos.export("pem");
11
+ if (!publicKey) {
12
+ throw new EcError("Missing public key");
13
+ }
14
+ return publicKey;
15
+ };
16
+ //# sourceMappingURL=get-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-key.js","sourceRoot":"","sources":["../../src/internal/get-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAmB,EAAU,EAAE;IACxD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAmB,EAAU,EAAE;IAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./ec-signature.js";
2
+ export * from "./get-key.js";
3
+ export * from "./map-algorithm.js";
4
+ export * from "./raw.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./ec-signature.js";
2
+ export * from "./get-key.js";
3
+ export * from "./map-algorithm.js";
4
+ export * from "./raw.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type IKryptosEc } from "@lindorm/kryptos";
2
+ import type { ShaAlgorithm } from "@lindorm/types";
3
+ export declare const mapEcAlgorithm: (kryptos: IKryptosEc) => ShaAlgorithm;
4
+ //# sourceMappingURL=map-algorithm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-algorithm.d.ts","sourceRoot":"","sources":["../../src/internal/map-algorithm.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD,eAAO,MAAM,cAAc,GAAI,SAAS,UAAU,KAAG,YAQpD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { EC_SIG_ALGORITHMS, } from "@lindorm/kryptos";
2
+ import { EcError } from "../errors/index.js";
3
+ const EC_SIG_ALGORITHM_MAP = {
4
+ ES256: "SHA256",
5
+ ES384: "SHA384",
6
+ ES512: "SHA512",
7
+ };
8
+ export const mapEcAlgorithm = (kryptos) => {
9
+ if (!EC_SIG_ALGORITHMS.includes(kryptos.algorithm)) {
10
+ throw new EcError("Unsupported EC algorithm for signing", {
11
+ debug: { algorithm: kryptos.algorithm },
12
+ });
13
+ }
14
+ return EC_SIG_ALGORITHM_MAP[kryptos.algorithm];
15
+ };
16
+ //# sourceMappingURL=map-algorithm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-algorithm.js","sourceRoot":"","sources":["../../src/internal/map-algorithm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAGlB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,oBAAoB,GAAyC;IACjE,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAmB,EAAgB,EAAE;IAClE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAA2B,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,OAAO,CAAC,sCAAsC,EAAE;YACxD,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,SAA2B,CAAC,CAAC;AACnE,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IKryptosEc } from "@lindorm/kryptos";
1
+ import type { IKryptosEc } from "@lindorm/kryptos";
2
2
  export declare const derToRaw: (kryptos: IKryptosEc, derSignature: Buffer) => Buffer;
3
3
  export declare const rawToDer: (kryptos: IKryptosEc, rawSignature: Buffer) => Buffer;
4
4
  //# sourceMappingURL=raw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../src/internal/raw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,eAAO,MAAM,QAAQ,GAAI,SAAS,UAAU,EAAE,cAAc,MAAM,KAAG,MA2CpE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,SAAS,UAAU,EAAE,cAAc,MAAM,KAAG,MA8BpE,CAAC"}
@@ -1,16 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rawToDer = exports.derToRaw = void 0;
4
- const errors_1 = require("../../errors");
1
+ import { EcError } from "../errors/index.js";
5
2
  const KEY_SIZES = {
6
3
  "P-256": 32,
7
4
  "P-384": 48,
8
5
  "P-521": 66,
9
6
  };
10
- const derToRaw = (kryptos, derSignature) => {
7
+ export const derToRaw = (kryptos, derSignature) => {
11
8
  const keySize = KEY_SIZES[kryptos.curve];
12
9
  if (derSignature[0] !== 0x30) {
13
- throw new errors_1.EcError("Invalid DER format");
10
+ throw new EcError("Invalid DER format");
14
11
  }
15
12
  let position = 2;
16
13
  const lengthByte = derSignature[1];
@@ -20,7 +17,7 @@ const derToRaw = (kryptos, derSignature) => {
20
17
  }
21
18
  function getInteger() {
22
19
  if (derSignature[position] !== 0x02) {
23
- throw new errors_1.EcError("Expected integer");
20
+ throw new EcError("Expected integer");
24
21
  }
25
22
  const length = derSignature[position + 1];
26
23
  position += 2;
@@ -42,11 +39,10 @@ const derToRaw = (kryptos, derSignature) => {
42
39
  ]);
43
40
  return Buffer.concat([paddedR, paddedS]);
44
41
  };
45
- exports.derToRaw = derToRaw;
46
- const rawToDer = (kryptos, rawSignature) => {
42
+ export const rawToDer = (kryptos, rawSignature) => {
47
43
  const keySize = KEY_SIZES[kryptos.curve];
48
44
  if (rawSignature.length !== 2 * keySize) {
49
- throw new errors_1.EcError("Invalid raw signature length");
45
+ throw new EcError("Invalid raw signature length");
50
46
  }
51
47
  const r = rawSignature.subarray(0, keySize);
52
48
  const s = rawSignature.subarray(keySize);
@@ -69,5 +65,4 @@ const rawToDer = (kryptos, rawSignature) => {
69
65
  const lengthByte = sequenceLength < 128 ? [sequenceLength] : [0x81, sequenceLength];
70
66
  return Buffer.concat([Buffer.from([0x30, ...lengthByte]), derR, derS]);
71
67
  };
72
- exports.rawToDer = rawToDer;
73
68
  //# sourceMappingURL=raw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.js","sourceRoot":"","sources":["../../src/internal/raw.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { IKryptos, IKryptosEc } from "@lindorm/kryptos";
2
- import { DsaEncoding, KeyData } from "@lindorm/types";
1
+ import type { IKryptos, IKryptosEc } from "@lindorm/kryptos";
2
+ import type { DsaEncoding, KeyData } from "@lindorm/types";
3
3
  export type CreateEcSignatureOptions = {
4
4
  data: KeyData;
5
5
  dsaEncoding: DsaEncoding;
@@ -1 +1 @@
1
- {"version":3,"file":"ec-kit.d.ts","sourceRoot":"","sources":["../../src/types/ec-kit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,QAAQ,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"ec-kit.d.ts","sourceRoot":"","sources":["../../src/types/ec-kit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,QAAQ,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=ec-kit.js.map
@@ -1,2 +1,2 @@
1
- export * from "./ec-kit";
1
+ export * from "./ec-kit.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ec-kit"), exports);
1
+ export * from "./ec-kit.js";
18
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lindorm/ec",
3
- "version": "0.2.10",
3
+ "version": "0.3.0",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "author": "Jonn Nilsson",
6
6
  "repository": {
@@ -11,15 +11,21 @@
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
- "main": "dist/index.js",
14
+ "type": "module",
15
15
  "typings": "dist/index.d.ts",
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "default": "./dist/index.js"
20
+ }
21
+ },
16
22
  "scripts": {
17
23
  "build": "rimraf dist && tsc -b ./tsconfig.build.json",
18
24
  "example": "ts-node example",
19
25
  "prettier": "prettier --write ./src/*",
20
- "test": "jest",
21
- "test:ci": "jest",
22
- "test:watch": "jest --watch --",
26
+ "test": "vitest run",
27
+ "test:unit": "vitest run --exclude '**/*.integration.test.ts'",
28
+ "test:watch": "vitest",
23
29
  "typecheck": "tsc",
24
30
  "typecheck:watch": "tsc --watch",
25
31
  "update": "ncu -i",
@@ -27,12 +33,10 @@
27
33
  "verify": "npm run typecheck && npm run build && npm test"
28
34
  },
29
35
  "dependencies": {
30
- "@lindorm/errors": "^0.1.17",
31
- "@lindorm/is": "^0.1.15",
32
- "@lindorm/kryptos": "^0.6.0"
33
- },
34
- "devDependencies": {
35
- "@lindorm/types": "^0.5.0"
36
+ "@lindorm/errors": "^0.2.0",
37
+ "@lindorm/is": "^0.2.0",
38
+ "@lindorm/kryptos": "^0.8.0",
39
+ "@lindorm/types": "^0.6.0"
36
40
  },
37
- "gitHead": "7a7ca458fd7765833aaf99bb9115abe802e01946"
41
+ "gitHead": "a2b0a53295aebda806b4057f34707e8583570265"
38
42
  }
@@ -0,0 +1,3 @@
1
+ import { createVitestConfig } from "../../vitest.config.base.mjs";
2
+
3
+ export default createVitestConfig();
@@ -1 +0,0 @@
1
- {"version":3,"file":"ec-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/ec-signature.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAKxF,eAAO,MAAM,iBAAiB,GAAI,sCAK/B,wBAAwB,KAAG,MAW7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,2DAO/B,wBAAwB,KAAG,OAkB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,2DAO/B,wBAAwB,KAAG,IAG7B,CAAC"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertEcSignature = exports.verifyEcSignature = exports.createEcSignature = void 0;
4
- const is_1 = require("@lindorm/is");
5
- const crypto_1 = require("crypto");
6
- const errors_1 = require("../../errors");
7
- const get_key_1 = require("./get-key");
8
- const map_algorithm_1 = require("./map-algorithm");
9
- const raw_1 = require("./raw");
10
- const createEcSignature = ({ data, dsaEncoding, kryptos, raw, }) => {
11
- const signature = (0, crypto_1.createSign)((0, map_algorithm_1.mapEcAlgorithm)(kryptos))
12
- .update(data)
13
- .end()
14
- .sign({ key: (0, get_key_1.getSignKey)(kryptos), dsaEncoding });
15
- if (raw) {
16
- return (0, raw_1.derToRaw)(kryptos, signature);
17
- }
18
- return signature;
19
- };
20
- exports.createEcSignature = createEcSignature;
21
- const verifyEcSignature = ({ data, dsaEncoding, encoding, kryptos, raw, signature, }) => {
22
- let buffer;
23
- if (raw) {
24
- buffer = (0, raw_1.rawToDer)(kryptos, (0, is_1.isBuffer)(signature) ? signature : Buffer.from(signature, encoding));
25
- }
26
- else if ((0, is_1.isString)(signature)) {
27
- buffer = Buffer.from(signature, encoding);
28
- }
29
- else {
30
- buffer = signature;
31
- }
32
- return (0, crypto_1.createVerify)((0, map_algorithm_1.mapEcAlgorithm)(kryptos))
33
- .update(data)
34
- .end()
35
- .verify({ key: (0, get_key_1.getVerifyKey)(kryptos), dsaEncoding }, buffer);
36
- };
37
- exports.verifyEcSignature = verifyEcSignature;
38
- const assertEcSignature = ({ data, dsaEncoding, encoding, kryptos, raw, signature, }) => {
39
- if ((0, exports.verifyEcSignature)({ data, dsaEncoding, encoding, kryptos, raw, signature }))
40
- return;
41
- throw new errors_1.EcError("Invalid signature");
42
- };
43
- exports.assertEcSignature = assertEcSignature;
44
- //# sourceMappingURL=ec-signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ec-signature.js","sourceRoot":"","sources":["../../../src/utils/private/ec-signature.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AACjD,mCAAkD;AAClD,yCAAuC;AAEvC,uCAAqD;AACrD,mDAAiD;AACjD,+BAA2C;AAEpC,MAAM,iBAAiB,GAAG,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,OAAO,EACP,GAAG,GACsB,EAAU,EAAE;IACrC,MAAM,SAAS,GAAG,IAAA,mBAAU,EAAC,IAAA,8BAAc,EAAC,OAAO,CAAC,CAAC;SAClD,MAAM,CAAC,IAAI,CAAC;SACZ,GAAG,EAAE;SACL,IAAI,CAAC,EAAE,GAAG,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEnD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,IAAA,cAAQ,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,OAAO,EACP,GAAG,EACH,SAAS,GACgB,EAAW,EAAE;IACtC,IAAI,MAAc,CAAC;IAEnB,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,IAAA,cAAQ,EACf,OAAO,EACP,IAAA,aAAQ,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CACnE,CAAC;IACJ,CAAC;SAAM,IAAI,IAAA,aAAQ,EAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,IAAA,qBAAY,EAAC,IAAA,8BAAc,EAAC,OAAO,CAAC,CAAC;SACzC,MAAM,CAAC,IAAI,CAAC;SACZ,GAAG,EAAE;SACL,MAAM,CAAC,EAAE,GAAG,EAAE,IAAA,sBAAY,EAAC,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC,CAAC;AAzBW,QAAA,iBAAiB,qBAyB5B;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,OAAO,EACP,GAAG,EACH,SAAS,GACgB,EAAQ,EAAE;IACnC,IAAI,IAAA,yBAAiB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QAAE,OAAO;IACxF,MAAM,IAAI,gBAAO,CAAC,mBAAmB,CAAC,CAAC;AACzC,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-key.d.ts","sourceRoot":"","sources":["../../../src/utils/private/get-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,UAAU,GAAI,SAAS,UAAU,KAAG,MAQhD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,UAAU,KAAG,MAQlD,CAAC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVerifyKey = exports.getSignKey = void 0;
4
- const errors_1 = require("../../errors");
5
- const getSignKey = (kryptos) => {
6
- const { privateKey } = kryptos.export("pem");
7
- if (!privateKey) {
8
- throw new errors_1.EcError("Missing private key");
9
- }
10
- return privateKey;
11
- };
12
- exports.getSignKey = getSignKey;
13
- const getVerifyKey = (kryptos) => {
14
- const { publicKey } = kryptos.export("pem");
15
- if (!publicKey) {
16
- throw new errors_1.EcError("Missing public key");
17
- }
18
- return publicKey;
19
- };
20
- exports.getVerifyKey = getVerifyKey;
21
- //# sourceMappingURL=get-key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-key.js","sourceRoot":"","sources":["../../../src/utils/private/get-key.ts"],"names":[],"mappings":";;;AACA,yCAAuC;AAEhC,MAAM,UAAU,GAAG,CAAC,OAAmB,EAAU,EAAE;IACxD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,gBAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB;AAEK,MAAM,YAAY,GAAG,CAAC,OAAmB,EAAU,EAAE;IAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,gBAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AARW,QAAA,YAAY,gBAQvB"}
@@ -1,5 +0,0 @@
1
- export * from "./ec-signature";
2
- export * from "./get-key";
3
- export * from "./map-algorithm";
4
- export * from "./raw";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ec-signature"), exports);
18
- __exportStar(require("./get-key"), exports);
19
- __exportStar(require("./map-algorithm"), exports);
20
- __exportStar(require("./raw"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,4CAA0B;AAC1B,kDAAgC;AAChC,wCAAsB"}
@@ -1,4 +0,0 @@
1
- import { IKryptosEc } from "@lindorm/kryptos";
2
- import { ShaAlgorithm } from "@lindorm/types";
3
- export declare const mapEcAlgorithm: (kryptos: IKryptosEc) => ShaAlgorithm;
4
- //# sourceMappingURL=map-algorithm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map-algorithm.d.ts","sourceRoot":"","sources":["../../../src/utils/private/map-algorithm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C,eAAO,MAAM,cAAc,GAAI,SAAS,UAAU,KAAG,YAQpD,CAAC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapEcAlgorithm = void 0;
4
- const kryptos_1 = require("@lindorm/kryptos");
5
- const errors_1 = require("../../errors");
6
- const EC_SIG_ALGORITHM_MAP = {
7
- ES256: "SHA256",
8
- ES384: "SHA384",
9
- ES512: "SHA512",
10
- };
11
- const mapEcAlgorithm = (kryptos) => {
12
- if (!kryptos_1.EC_SIG_ALGORITHMS.includes(kryptos.algorithm)) {
13
- throw new errors_1.EcError("Unsupported EC algorithm for signing", {
14
- debug: { algorithm: kryptos.algorithm },
15
- });
16
- }
17
- return EC_SIG_ALGORITHM_MAP[kryptos.algorithm];
18
- };
19
- exports.mapEcAlgorithm = mapEcAlgorithm;
20
- //# sourceMappingURL=map-algorithm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map-algorithm.js","sourceRoot":"","sources":["../../../src/utils/private/map-algorithm.ts"],"names":[],"mappings":";;;AAAA,8CAAiF;AAEjF,yCAAuC;AAEvC,MAAM,oBAAoB,GAAyC;IACjE,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEK,MAAM,cAAc,GAAG,CAAC,OAAmB,EAAgB,EAAE;IAClE,IAAI,CAAC,2BAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAA2B,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,gBAAO,CAAC,sCAAsC,EAAE;YACxD,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,SAA2B,CAAC,CAAC;AACnE,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../../src/utils/private/raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,eAAO,MAAM,QAAQ,GAAI,SAAS,UAAU,EAAE,cAAc,MAAM,KAAG,MA2CpE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,SAAS,UAAU,EAAE,cAAc,MAAM,KAAG,MA8BpE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw.js","sourceRoot":"","sources":["../../../src/utils/private/raw.ts"],"names":[],"mappings":"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"}