@lindorm/rsa 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
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.1.3](https://github.com/lindorm-io/monorepo/compare/@lindorm/rsa@0.1.2...@lindorm/rsa@0.1.3) (2024-05-20)
7
+
8
+ **Note:** Version bump only for package @lindorm/rsa
9
+
10
+ ## [0.1.2](https://github.com/lindorm-io/monorepo/compare/@lindorm/rsa@0.1.1...@lindorm/rsa@0.1.2) (2024-05-19)
11
+
12
+ ### Bug Fixes
13
+
14
+ - align with kryptos changes ([344c4e2](https://github.com/lindorm-io/monorepo/commit/344c4e2fad07e66c91f7e0820bfc929c1f8ffcab))
15
+ - improve kryptos generate method ([9e7098d](https://github.com/lindorm-io/monorepo/commit/9e7098d4b219b11140e28e554ffd573204772249))
16
+ - simplify interfaces with kryptos metadata ([c4075d2](https://github.com/lindorm-io/monorepo/commit/c4075d2e133c2fe0a1fafa548da68db34b3407c6))
17
+ - use crypto constants ([2fc218e](https://github.com/lindorm-io/monorepo/commit/2fc218e8c279d23bdb386421a9896bbf9896e72b))
18
+
6
19
  ## [0.1.1](https://github.com/lindorm-io/monorepo/compare/@lindorm/rsa@0.1.0...@lindorm/rsa@0.1.1) (2024-05-12)
7
20
 
8
21
  ### Bug Fixes
@@ -1,6 +1,5 @@
1
1
  import { RsaKitOptions } from "../types";
2
2
  export declare class RsaKit {
3
- private readonly algorithm;
4
3
  private readonly format;
5
4
  private readonly kryptos;
6
5
  constructor(options: RsaKitOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"RsaKit.d.ts","sourceRoot":"","sources":["../../src/classes/RsaKit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA6C,MAAM,UAAU,CAAC;AAOpF,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEf,OAAO,EAAE,aAAa;IAMlC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAUhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CASrD"}
1
+ {"version":3,"file":"RsaKit.d.ts","sourceRoot":"","sources":["../../src/classes/RsaKit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAOzC,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAEnB,OAAO,EAAE,aAAa;IAUlC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAShD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAQrD"}
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RsaKit = void 0;
4
+ const kryptos_1 = require("@lindorm/kryptos");
5
+ const errors_1 = require("../errors");
4
6
  const rsa_signature_1 = require("../utils/private/rsa-signature");
5
7
  class RsaKit {
6
- algorithm;
7
8
  format;
8
9
  kryptos;
9
10
  constructor(options) {
10
- this.algorithm = options.algorithm || "RSA-SHA256";
11
- this.format = options.format || "base64url";
11
+ this.format = options.format ?? "base64";
12
+ if (!kryptos_1.Kryptos.isRsa(options.kryptos)) {
13
+ throw new errors_1.RsaError("Invalid Kryptos instance");
14
+ }
12
15
  this.kryptos = options.kryptos;
13
16
  }
14
17
  sign(data) {
15
18
  return (0, rsa_signature_1._createRsaSignature)({
16
- algorithm: this.algorithm,
17
19
  data,
18
20
  format: this.format,
19
21
  kryptos: this.kryptos,
@@ -21,7 +23,6 @@ class RsaKit {
21
23
  }
22
24
  verify(data, signature) {
23
25
  return (0, rsa_signature_1._verifyRsaSignature)({
24
- algorithm: this.algorithm,
25
26
  data,
26
27
  format: this.format,
27
28
  kryptos: this.kryptos,
@@ -30,7 +31,6 @@ class RsaKit {
30
31
  }
31
32
  assert(data, signature) {
32
33
  return (0, rsa_signature_1._assertRsaSignature)({
33
- algorithm: this.algorithm,
34
34
  data,
35
35
  format: this.format,
36
36
  kryptos: this.kryptos,
@@ -1 +1 @@
1
- {"version":3,"file":"RsaKit.js","sourceRoot":"","sources":["../../src/classes/RsaKit.ts"],"names":[],"mappings":";;;AAEA,kEAIwC;AAExC,MAAa,MAAM;IACA,SAAS,CAAwB;IACjC,MAAM,CAAqB;IAC3B,OAAO,CAAU;IAElC,YAAmB,OAAsB;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAEM,IAAI,CAAC,IAAY;QACtB,OAAO,IAAA,mCAAmB,EAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,SAAiB;QAC3C,OAAO,IAAA,mCAAmB,EAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,SAAiB;QAC3C,OAAO,IAAA,mCAAmB,EAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF;AAvCD,wBAuCC"}
1
+ {"version":3,"file":"RsaKit.js","sourceRoot":"","sources":["../../src/classes/RsaKit.ts"],"names":[],"mappings":";;;AAAA,8CAAwD;AAExD,sCAAqC;AAErC,kEAIwC;AAExC,MAAa,MAAM;IACA,MAAM,CAAe;IACrB,OAAO,CAAc;IAEtC,YAAmB,OAAsB;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;QAEzC,IAAI,CAAC,iBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,iBAAQ,CAAC,0BAA0B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAEM,IAAI,CAAC,IAAY;QACtB,OAAO,IAAA,mCAAmB,EAAC;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,SAAiB;QAC3C,OAAO,IAAA,mCAAmB,EAAC;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,SAAiB;QAC3C,OAAO,IAAA,mCAAmB,EAAC;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF;AAvCD,wBAuCC"}
@@ -1,22 +1,18 @@
1
- import { Kryptos } from "@lindorm/kryptos";
2
- export type RsaSignatureFormat = "base64" | "base64url" | "hex";
3
- export type RsaSignatureAlgorithm = "RSA-SHA256" | "RSA-SHA384" | "RSA-SHA512" | "sha256" | "sha384" | "sha512";
1
+ import { IKryptos, IKryptosRsa } from "@lindorm/kryptos";
2
+ import { BufferFormat } from "@lindorm/types";
4
3
  export type CreateRsaSignatureOptions = {
5
- algorithm?: RsaSignatureAlgorithm;
6
4
  data: string;
7
- format?: RsaSignatureFormat;
8
- kryptos: Kryptos;
5
+ format: BufferFormat;
6
+ kryptos: IKryptosRsa;
9
7
  };
10
8
  export type VerifyRsaSignatureOptions = {
11
- algorithm?: RsaSignatureAlgorithm;
12
9
  data: string;
13
- format?: RsaSignatureFormat;
14
- kryptos: Kryptos;
10
+ format: BufferFormat;
11
+ kryptos: IKryptosRsa;
15
12
  signature: string;
16
13
  };
17
14
  export type RsaKitOptions = {
18
- algorithm?: RsaSignatureAlgorithm;
19
- format?: RsaSignatureFormat;
20
- kryptos: Kryptos;
15
+ format?: BufferFormat;
16
+ kryptos: IKryptos;
21
17
  };
22
18
  //# sourceMappingURL=rsa-kit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rsa-kit.d.ts","sourceRoot":"","sources":["../../src/types/rsa-kit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"rsa-kit.d.ts","sourceRoot":"","sources":["../../src/types/rsa-kit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import { IKryptosRsa } from "@lindorm/kryptos";
3
+ import { SignPrivateKeyInput, VerifyPublicKeyInput } from "crypto";
4
+ export declare const _getSignKey: (kryptos: IKryptosRsa) => SignPrivateKeyInput | string;
5
+ export declare const _getVerifyKey: (kryptos: IKryptosRsa) => VerifyPublicKeyInput | string;
6
+ //# sourceMappingURL=get-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-options.d.ts","sourceRoot":"","sources":["../../../src/utils/private/get-options.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAKnE,eAAO,MAAM,WAAW,YAAa,WAAW,KAAG,mBAAmB,GAAG,MAoBxE,CAAC;AAEF,eAAO,MAAM,aAAa,YAAa,WAAW,KAAG,oBAAoB,GAAG,MAoB3E,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._getVerifyKey = exports._getSignKey = void 0;
4
+ const constants_1 = require("constants");
5
+ const errors_1 = require("../../errors");
6
+ const RSA_PKCS1_SALT_LENGTH = 32;
7
+ const _getSignKey = (kryptos) => {
8
+ const { privateKey } = kryptos.export("pem");
9
+ if (!privateKey) {
10
+ throw new errors_1.RsaError("Private key not found in key set", { debug: { kryptos } });
11
+ }
12
+ if (kryptos.algorithm.startsWith("PS")) {
13
+ return {
14
+ key: privateKey,
15
+ padding: constants_1.RSA_PKCS1_PSS_PADDING,
16
+ saltLength: RSA_PKCS1_SALT_LENGTH,
17
+ };
18
+ }
19
+ if (kryptos.algorithm.startsWith("RS")) {
20
+ return privateKey;
21
+ }
22
+ throw new errors_1.RsaError("Unsupported RSA algorithm", { debug: { kryptos } });
23
+ };
24
+ exports._getSignKey = _getSignKey;
25
+ const _getVerifyKey = (kryptos) => {
26
+ const { publicKey } = kryptos.export("pem");
27
+ if (!publicKey) {
28
+ throw new errors_1.RsaError("Public key not found in key set", { debug: { kryptos } });
29
+ }
30
+ if (kryptos.algorithm.startsWith("PS")) {
31
+ return {
32
+ key: publicKey,
33
+ padding: constants_1.RSA_PKCS1_PSS_PADDING,
34
+ saltLength: RSA_PKCS1_SALT_LENGTH,
35
+ };
36
+ }
37
+ if (kryptos.algorithm.startsWith("RS")) {
38
+ return publicKey;
39
+ }
40
+ throw new errors_1.RsaError("Unsupported RSA algorithm", { debug: { kryptos } });
41
+ };
42
+ exports._getVerifyKey = _getVerifyKey;
43
+ //# sourceMappingURL=get-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-options.js","sourceRoot":"","sources":["../../../src/utils/private/get-options.ts"],"names":[],"mappings":";;;AACA,yCAAkD;AAElD,yCAAwC;AAExC,MAAM,qBAAqB,GAAG,EAAW,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAgC,EAAE;IAChF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,iBAAQ,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,iCAAqB;YAC9B,UAAU,EAAE,qBAAqB;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AApBW,QAAA,WAAW,eAoBtB;AAEK,MAAM,aAAa,GAAG,CAAC,OAAoB,EAAiC,EAAE;IACnF,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,iBAAQ,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,iCAAqB;YAC9B,UAAU,EAAE,qBAAqB;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AApBW,QAAA,aAAa,iBAoBxB"}
@@ -0,0 +1,4 @@
1
+ import { IKryptosRsa } from "@lindorm/kryptos";
2
+ import { ShaAlgorithm } from "@lindorm/types";
3
+ export declare const _mapRsaAlgorithm: (kryptos: IKryptosRsa) => ShaAlgorithm;
4
+ //# sourceMappingURL=map-algorithm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-algorithm.d.ts","sourceRoot":"","sources":["../../../src/utils/private/map-algorithm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,YAAa,WAAW,KAAG,YAMvD,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._mapRsaAlgorithm = void 0;
4
+ const errors_1 = require("../../errors");
5
+ const _mapRsaAlgorithm = (kryptos) => {
6
+ if (kryptos.algorithm.endsWith("256"))
7
+ return "SHA256";
8
+ if (kryptos.algorithm.endsWith("384"))
9
+ return "SHA384";
10
+ if (kryptos.algorithm.endsWith("512"))
11
+ return "SHA512";
12
+ throw new errors_1.RsaError("Unsupported RSA algorithm", { debug: { kryptos } });
13
+ };
14
+ exports._mapRsaAlgorithm = _mapRsaAlgorithm;
15
+ //# sourceMappingURL=map-algorithm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-algorithm.js","sourceRoot":"","sources":["../../../src/utils/private/map-algorithm.ts"],"names":[],"mappings":";;;AAEA,yCAAwC;AAEjC,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAgB,EAAE;IACrE,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvD,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvD,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEvD,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B"}
@@ -1,5 +1,5 @@
1
1
  import { CreateRsaSignatureOptions, VerifyRsaSignatureOptions } from "../../types";
2
- export declare const _createRsaSignature: ({ algorithm, data, format, kryptos, }: CreateRsaSignatureOptions) => string;
3
- export declare const _verifyRsaSignature: ({ algorithm, data, format, kryptos, signature, }: VerifyRsaSignatureOptions) => boolean;
2
+ export declare const _createRsaSignature: ({ data, format, kryptos }: CreateRsaSignatureOptions) => string;
3
+ export declare const _verifyRsaSignature: ({ data, format, kryptos, signature, }: VerifyRsaSignatureOptions) => boolean;
4
4
  export declare const _assertRsaSignature: (options: VerifyRsaSignatureOptions) => void;
5
5
  //# sourceMappingURL=rsa-signature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rsa-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/rsa-signature.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAEnF,eAAO,MAAM,mBAAmB,0CAK7B,yBAAyB,KAAG,MAY9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,qDAM7B,yBAAyB,KAAG,OAY9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAa,yBAAyB,KAAG,IAGxE,CAAC"}
1
+ {"version":3,"file":"rsa-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/rsa-signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAInF,eAAO,MAAM,mBAAmB,8BAA+B,yBAAyB,KAAG,MACE,CAAC;AAE9F,eAAO,MAAM,mBAAmB,0CAK7B,yBAAyB,KAAG,OAIuB,CAAC;AAEvD,eAAO,MAAM,mBAAmB,YAAa,yBAAyB,KAAG,IAGxE,CAAC"}
@@ -1,30 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._assertRsaSignature = exports._verifyRsaSignature = exports._createRsaSignature = void 0;
4
- const kryptos_1 = require("@lindorm/kryptos");
5
4
  const crypto_1 = require("crypto");
6
5
  const errors_1 = require("../../errors");
7
- const _createRsaSignature = ({ algorithm = "RSA-SHA256", data, format = "base64url", kryptos, }) => {
8
- if (!kryptos_1.Kryptos.isRsa(kryptos)) {
9
- throw new errors_1.RsaError("Invalid kryptos type");
10
- }
11
- const { privateKey } = kryptos.export("pem");
12
- if (!privateKey) {
13
- throw new errors_1.RsaError("Private key not found in key set");
14
- }
15
- return (0, crypto_1.createSign)(algorithm).update(data).end().sign(privateKey, format);
16
- };
6
+ const get_options_1 = require("./get-options");
7
+ const map_algorithm_1 = require("./map-algorithm");
8
+ const _createRsaSignature = ({ data, format, kryptos }) => (0, crypto_1.createSign)((0, map_algorithm_1._mapRsaAlgorithm)(kryptos)).update(data).end().sign((0, get_options_1._getSignKey)(kryptos), format);
17
9
  exports._createRsaSignature = _createRsaSignature;
18
- const _verifyRsaSignature = ({ algorithm = "RSA-SHA256", data, format = "base64url", kryptos, signature, }) => {
19
- if (!kryptos_1.Kryptos.isRsa(kryptos)) {
20
- throw new errors_1.RsaError("Invalid kryptos type");
21
- }
22
- const { publicKey } = kryptos.export("pem");
23
- if (!publicKey) {
24
- throw new errors_1.RsaError("Public key not found in key set");
25
- }
26
- return (0, crypto_1.createVerify)(algorithm).update(data).end().verify(publicKey, signature, format);
27
- };
10
+ const _verifyRsaSignature = ({ data, format, kryptos, signature, }) => (0, crypto_1.createVerify)((0, map_algorithm_1._mapRsaAlgorithm)(kryptos))
11
+ .update(data)
12
+ .end()
13
+ .verify((0, get_options_1._getVerifyKey)(kryptos), signature, format);
28
14
  exports._verifyRsaSignature = _verifyRsaSignature;
29
15
  const _assertRsaSignature = (options) => {
30
16
  if ((0, exports._verifyRsaSignature)(options))
@@ -1 +1 @@
1
- {"version":3,"file":"rsa-signature.js","sourceRoot":"","sources":["../../../src/utils/private/rsa-signature.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAC3C,mCAAkD;AAClD,yCAAwC;AAGjC,MAAM,mBAAmB,GAAG,CAAC,EAClC,SAAS,GAAG,YAAY,EACxB,IAAI,EACJ,MAAM,GAAG,WAAW,EACpB,OAAO,GACmB,EAAU,EAAE;IACtC,IAAI,CAAC,iBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,iBAAQ,CAAC,kCAAkC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,EAClC,SAAS,GAAG,YAAY,EACxB,IAAI,EACJ,MAAM,GAAG,WAAW,EACpB,OAAO,EACP,SAAS,GACiB,EAAW,EAAE;IACvC,IAAI,CAAC,iBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,iBAAQ,CAAC,iCAAiC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACzF,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAkC,EAAQ,EAAE;IAC9E,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC;QAAE,OAAO;IACzC,MAAM,IAAI,iBAAQ,CAAC,mBAAmB,CAAC,CAAC;AAC1C,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B"}
1
+ {"version":3,"file":"rsa-signature.js","sourceRoot":"","sources":["../../../src/utils/private/rsa-signature.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAClD,yCAAwC;AAExC,+CAA2D;AAC3D,mDAAmD;AAE5C,MAAM,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAA6B,EAAU,EAAE,CAClG,IAAA,mBAAU,EAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAA,yBAAW,EAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AADjF,QAAA,mBAAmB,uBAC8D;AAEvF,MAAM,mBAAmB,GAAG,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,GACiB,EAAW,EAAE,CACvC,IAAA,qBAAY,EAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,CAAC;KACpC,MAAM,CAAC,IAAI,CAAC;KACZ,GAAG,EAAE;KACL,MAAM,CAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAT1C,QAAA,mBAAmB,uBASuB;AAEhD,MAAM,mBAAmB,GAAG,CAAC,OAAkC,EAAQ,EAAE;IAC9E,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC;QAAE,OAAO;IACzC,MAAM,IAAI,iBAAQ,CAAC,mBAAmB,CAAC,CAAC;AAC1C,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lindorm/rsa",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "author": "Jonn Nilsson",
6
6
  "repository": {
@@ -26,8 +26,11 @@
26
26
  "update": "ncu -u"
27
27
  },
28
28
  "dependencies": {
29
- "@lindorm/errors": "^0.1.4",
30
- "@lindorm/kryptos": "^0.2.1"
29
+ "@lindorm/errors": "^0.1.5",
30
+ "@lindorm/kryptos": "^0.3.1"
31
31
  },
32
- "gitHead": "cb57e5e2cc3e7ee6a1db97875e05bebb910a1efe"
32
+ "devDependencies": {
33
+ "@lindorm/types": "^0.1.4"
34
+ },
35
+ "gitHead": "b2bcea52f09a87f312028c18b12dcb5632ffaf35"
33
36
  }