@haskou/value-objects 4.1.0 → 6.0.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 (162) hide show
  1. package/README.md +78 -176
  2. package/dist/errors/InvalidPasswordError.d.ts +5 -0
  3. package/dist/errors/InvalidPasswordError.d.ts.map +1 -0
  4. package/dist/errors/InvalidPasswordError.js +11 -0
  5. package/dist/errors/InvalidPasswordError.js.map +1 -0
  6. package/dist/errors/index.d.ts +1 -2
  7. package/dist/errors/index.d.ts.map +1 -1
  8. package/dist/errors/index.js +1 -2
  9. package/dist/errors/index.js.map +1 -1
  10. package/dist/interfaces/PrimitiveOf.d.ts +5 -1
  11. package/dist/interfaces/PrimitiveOf.d.ts.map +1 -1
  12. package/dist/patterns/Assert.d.ts +1 -1
  13. package/dist/patterns/Assert.d.ts.map +1 -1
  14. package/dist/types/Primitive.d.ts +1 -1
  15. package/dist/types/Primitive.d.ts.map +1 -1
  16. package/dist/value-objects/Color.d.ts +1 -1
  17. package/dist/value-objects/Color.d.ts.map +1 -1
  18. package/dist/value-objects/Color.js +5 -2
  19. package/dist/value-objects/Color.js.map +1 -1
  20. package/dist/value-objects/Email.d.ts +1 -0
  21. package/dist/value-objects/Email.d.ts.map +1 -1
  22. package/dist/value-objects/Email.js +2 -1
  23. package/dist/value-objects/Email.js.map +1 -1
  24. package/dist/value-objects/Enum.d.ts +1 -1
  25. package/dist/value-objects/Enum.d.ts.map +1 -1
  26. package/dist/value-objects/Enum.js +1 -1
  27. package/dist/value-objects/Enum.js.map +1 -1
  28. package/dist/value-objects/NumberValueObject.js +1 -1
  29. package/dist/value-objects/NumberValueObject.js.map +1 -1
  30. package/dist/value-objects/Password.d.ts +8 -0
  31. package/dist/value-objects/Password.d.ts.map +1 -0
  32. package/dist/value-objects/Password.js +28 -0
  33. package/dist/value-objects/Password.js.map +1 -0
  34. package/dist/value-objects/UniqueObjectArray.d.ts.map +1 -1
  35. package/dist/value-objects/ValueObject.d.ts +1 -0
  36. package/dist/value-objects/ValueObject.d.ts.map +1 -1
  37. package/dist/value-objects/ValueObject.js +7 -1
  38. package/dist/value-objects/ValueObject.js.map +1 -1
  39. package/dist/value-objects/coordinates/Latitude.d.ts.map +1 -1
  40. package/dist/value-objects/coordinates/Latitude.js +5 -4
  41. package/dist/value-objects/coordinates/Latitude.js.map +1 -1
  42. package/dist/value-objects/coordinates/Longitude.d.ts.map +1 -1
  43. package/dist/value-objects/coordinates/Longitude.js +5 -4
  44. package/dist/value-objects/coordinates/Longitude.js.map +1 -1
  45. package/dist/value-objects/hashes/MD5Hash.d.ts +0 -3
  46. package/dist/value-objects/hashes/MD5Hash.d.ts.map +1 -1
  47. package/dist/value-objects/hashes/MD5Hash.js +0 -4
  48. package/dist/value-objects/hashes/MD5Hash.js.map +1 -1
  49. package/dist/value-objects/hashes/SHA256Hash.d.ts +0 -3
  50. package/dist/value-objects/hashes/SHA256Hash.d.ts.map +1 -1
  51. package/dist/value-objects/hashes/SHA256Hash.js +0 -4
  52. package/dist/value-objects/hashes/SHA256Hash.js.map +1 -1
  53. package/dist/value-objects/hashes/SHA512Hash.d.ts +0 -3
  54. package/dist/value-objects/hashes/SHA512Hash.d.ts.map +1 -1
  55. package/dist/value-objects/hashes/SHA512Hash.js +0 -4
  56. package/dist/value-objects/hashes/SHA512Hash.js.map +1 -1
  57. package/dist/value-objects/ids/ShortId.d.ts +2 -0
  58. package/dist/value-objects/ids/ShortId.d.ts.map +1 -1
  59. package/dist/value-objects/ids/ShortId.js +12 -3
  60. package/dist/value-objects/ids/ShortId.js.map +1 -1
  61. package/dist/value-objects/ids/UUID.d.ts +3 -0
  62. package/dist/value-objects/ids/UUID.d.ts.map +1 -1
  63. package/dist/value-objects/ids/UUID.js +23 -4
  64. package/dist/value-objects/ids/UUID.js.map +1 -1
  65. package/dist/value-objects/index.d.ts +1 -1
  66. package/dist/value-objects/index.d.ts.map +1 -1
  67. package/dist/value-objects/index.js +1 -1
  68. package/dist/value-objects/index.js.map +1 -1
  69. package/dist/value-objects/media/Media.d.ts +2 -0
  70. package/dist/value-objects/media/Media.d.ts.map +1 -1
  71. package/dist/value-objects/media/Media.js +14 -1
  72. package/dist/value-objects/media/Media.js.map +1 -1
  73. package/dist/value-objects/time/CalendarDay.d.ts +2 -1
  74. package/dist/value-objects/time/CalendarDay.d.ts.map +1 -1
  75. package/dist/value-objects/time/CalendarDay.js +25 -11
  76. package/dist/value-objects/time/CalendarDay.js.map +1 -1
  77. package/dist/value-objects/time/DayOfWeek.d.ts.map +1 -1
  78. package/dist/value-objects/time/DayOfWeek.js +2 -3
  79. package/dist/value-objects/time/DayOfWeek.js.map +1 -1
  80. package/dist/value-objects/time/Duration.js +2 -2
  81. package/dist/value-objects/time/Duration.js.map +1 -1
  82. package/dist/value-objects/time/Hour.d.ts +3 -0
  83. package/dist/value-objects/time/Hour.d.ts.map +1 -1
  84. package/dist/value-objects/time/Hour.js +30 -31
  85. package/dist/value-objects/time/Hour.js.map +1 -1
  86. package/dist/value-objects/time/Timestamp.d.ts +3 -1
  87. package/dist/value-objects/time/Timestamp.d.ts.map +1 -1
  88. package/dist/value-objects/time/Timestamp.js +50 -9
  89. package/dist/value-objects/time/Timestamp.js.map +1 -1
  90. package/dist/value-objects/time/TimestampInterval.d.ts +2 -4
  91. package/dist/value-objects/time/TimestampInterval.d.ts.map +1 -1
  92. package/dist/value-objects/time/TimestampInterval.js +0 -10
  93. package/dist/value-objects/time/TimestampInterval.js.map +1 -1
  94. package/package.json +50 -33
  95. package/dist/errors/InvalidKeyError.d.ts +0 -5
  96. package/dist/errors/InvalidKeyError.d.ts.map +0 -1
  97. package/dist/errors/InvalidKeyError.js +0 -11
  98. package/dist/errors/InvalidKeyError.js.map +0 -1
  99. package/dist/errors/InvalidSignatureError.d.ts +0 -5
  100. package/dist/errors/InvalidSignatureError.d.ts.map +0 -1
  101. package/dist/errors/InvalidSignatureError.js +0 -11
  102. package/dist/errors/InvalidSignatureError.js.map +0 -1
  103. package/dist/value-objects/crypto/CryptoAdapter.d.ts +0 -30
  104. package/dist/value-objects/crypto/CryptoAdapter.d.ts.map +0 -1
  105. package/dist/value-objects/crypto/CryptoAdapter.js +0 -96
  106. package/dist/value-objects/crypto/CryptoAdapter.js.map +0 -1
  107. package/dist/value-objects/crypto/CryptoPayload.d.ts +0 -5
  108. package/dist/value-objects/crypto/CryptoPayload.d.ts.map +0 -1
  109. package/dist/value-objects/crypto/CryptoPayload.js +0 -3
  110. package/dist/value-objects/crypto/CryptoPayload.js.map +0 -1
  111. package/dist/value-objects/crypto/EncryptedKeyPair.d.ts +0 -25
  112. package/dist/value-objects/crypto/EncryptedKeyPair.d.ts.map +0 -1
  113. package/dist/value-objects/crypto/EncryptedKeyPair.js +0 -42
  114. package/dist/value-objects/crypto/EncryptedKeyPair.js.map +0 -1
  115. package/dist/value-objects/crypto/EncryptedPayload.d.ts +0 -4
  116. package/dist/value-objects/crypto/EncryptedPayload.d.ts.map +0 -1
  117. package/dist/value-objects/crypto/EncryptedPayload.js +0 -8
  118. package/dist/value-objects/crypto/EncryptedPayload.js.map +0 -1
  119. package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts +0 -11
  120. package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts.map +0 -1
  121. package/dist/value-objects/crypto/EncryptedPrivateKey.js +0 -37
  122. package/dist/value-objects/crypto/EncryptedPrivateKey.js.map +0 -1
  123. package/dist/value-objects/crypto/Key.d.ts +0 -4
  124. package/dist/value-objects/crypto/Key.d.ts.map +0 -1
  125. package/dist/value-objects/crypto/Key.js +0 -8
  126. package/dist/value-objects/crypto/Key.js.map +0 -1
  127. package/dist/value-objects/crypto/KeyPair.d.ts +0 -26
  128. package/dist/value-objects/crypto/KeyPair.d.ts.map +0 -1
  129. package/dist/value-objects/crypto/KeyPair.js +0 -45
  130. package/dist/value-objects/crypto/KeyPair.js.map +0 -1
  131. package/dist/value-objects/crypto/PrivateKey.d.ts +0 -19
  132. package/dist/value-objects/crypto/PrivateKey.d.ts.map +0 -1
  133. package/dist/value-objects/crypto/PrivateKey.js +0 -56
  134. package/dist/value-objects/crypto/PrivateKey.js.map +0 -1
  135. package/dist/value-objects/crypto/PublicKey.d.ts +0 -15
  136. package/dist/value-objects/crypto/PublicKey.d.ts.map +0 -1
  137. package/dist/value-objects/crypto/PublicKey.js +0 -54
  138. package/dist/value-objects/crypto/PublicKey.js.map +0 -1
  139. package/dist/value-objects/crypto/Signature.d.ts +0 -11
  140. package/dist/value-objects/crypto/Signature.d.ts.map +0 -1
  141. package/dist/value-objects/crypto/Signature.js +0 -26
  142. package/dist/value-objects/crypto/Signature.js.map +0 -1
  143. package/dist/value-objects/crypto/encrypted-private-key/CryptoDerivation.d.ts +0 -21
  144. package/dist/value-objects/crypto/encrypted-private-key/CryptoDerivation.d.ts.map +0 -1
  145. package/dist/value-objects/crypto/encrypted-private-key/CryptoDerivation.js +0 -56
  146. package/dist/value-objects/crypto/encrypted-private-key/CryptoDerivation.js.map +0 -1
  147. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts +0 -14
  148. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts.map +0 -1
  149. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js +0 -33
  150. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js.map +0 -1
  151. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts +0 -20
  152. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts.map +0 -1
  153. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js +0 -69
  154. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js.map +0 -1
  155. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts +0 -8
  156. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts.map +0 -1
  157. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.js +0 -10
  158. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.js.map +0 -1
  159. package/dist/value-objects/crypto/index.d.ts +0 -9
  160. package/dist/value-objects/crypto/index.d.ts.map +0 -1
  161. package/dist/value-objects/crypto/index.js +0 -12
  162. package/dist/value-objects/crypto/index.js.map +0 -1
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CryptoAdapter = void 0;
4
- const aes_js_1 = require("@noble/ciphers/aes.js");
5
- const ed25519_js_1 = require("@noble/curves/ed25519.js");
6
- const legacy_js_1 = require("@noble/hashes/legacy.js");
7
- const sha2_js_1 = require("@noble/hashes/sha2.js");
8
- const utils_js_1 = require("@noble/hashes/utils.js");
9
- const buffer_1 = require("buffer");
10
- const privateKeyDerPrefix = (0, utils_js_1.hexToBytes)('302e020100300506032b657004220420');
11
- const publicKeyDerPrefix = (0, utils_js_1.hexToBytes)('302a300506032b6570032100');
12
- const gcmTagLength = 16;
13
- class CryptoAdapter {
14
- static pemToDer(pem) {
15
- const base64 = pem
16
- .replace(/-----BEGIN (?:PRIVATE|PUBLIC) KEY-----/, '')
17
- .replace(/-----END (?:PRIVATE|PUBLIC) KEY-----/, '')
18
- .replace(/\s/g, '');
19
- return buffer_1.Buffer.from(base64, 'base64');
20
- }
21
- static wrapPem(label, der) {
22
- return `-----BEGIN ${label}-----\n${buffer_1.Buffer.from(der).toString('base64')}\n-----END ${label}-----\n`;
23
- }
24
- static decryptAes256Gcm(key, iv, cipherText, tag) {
25
- return buffer_1.Buffer.from((0, aes_js_1.gcm)(key, iv).decrypt((0, utils_js_1.concatBytes)(cipherText, tag)));
26
- }
27
- static deriveEncryptionKey(sharedSecret, ephemeralPublicKey) {
28
- return (0, sha2_js_1.sha256)((0, utils_js_1.concatBytes)(sharedSecret, ephemeralPublicKey));
29
- }
30
- static encryptAes256Gcm(key, iv, message) {
31
- const encrypted = (0, aes_js_1.gcm)(key, iv).encrypt(message);
32
- return {
33
- cipherText: encrypted.subarray(0, -gcmTagLength),
34
- tag: encrypted.subarray(-gcmTagLength),
35
- };
36
- }
37
- static getPublicKey(privateKeyPem) {
38
- return this.publicKeyToPem(ed25519_js_1.ed25519.getPublicKey(this.privateKeyToSeed(privateKeyPem)));
39
- }
40
- static hash(algorithm, value) {
41
- const bytes = this.toBytes(value);
42
- const hash = {
43
- md5: legacy_js_1.md5,
44
- sha256: sha2_js_1.sha256,
45
- sha512: sha2_js_1.sha512,
46
- }[algorithm];
47
- return (0, utils_js_1.bytesToHex)(hash(bytes));
48
- }
49
- static privateKeyToPem(seed) {
50
- return this.wrapPem('PRIVATE KEY', (0, utils_js_1.concatBytes)(privateKeyDerPrefix, seed));
51
- }
52
- static privateKeyToSeed(privateKeyPem) {
53
- return this.pemToDer(privateKeyPem).subarray(privateKeyDerPrefix.length);
54
- }
55
- static privateKeyToX25519(privateKeyPem) {
56
- return ed25519_js_1.ed25519.utils.toMontgomerySecret(this.privateKeyToSeed(privateKeyPem));
57
- }
58
- static publicKeyToPem(publicKey) {
59
- return this.wrapPem('PUBLIC KEY', (0, utils_js_1.concatBytes)(publicKeyDerPrefix, publicKey));
60
- }
61
- static publicKeyToX25519(publicKeyPem) {
62
- return ed25519_js_1.ed25519.utils.toMontgomery(this.publicKeyToBytes(publicKeyPem));
63
- }
64
- static publicKeyToBytes(publicKeyPem) {
65
- return this.pemToDer(publicKeyPem).subarray(publicKeyDerPrefix.length);
66
- }
67
- static randomBytes(size) {
68
- return buffer_1.Buffer.from((0, utils_js_1.randomBytes)(size));
69
- }
70
- static randomPrivateKeyPem() {
71
- return this.privateKeyToPem(ed25519_js_1.ed25519.utils.randomSecretKey());
72
- }
73
- static sign(message, privateKeyPem) {
74
- return buffer_1.Buffer.from(ed25519_js_1.ed25519.sign(message, this.privateKeyToSeed(privateKeyPem)));
75
- }
76
- static toBytes(value) {
77
- if (value instanceof Uint8Array) {
78
- return value;
79
- }
80
- return buffer_1.Buffer.from(value);
81
- }
82
- static verify(signature, message, publicKeyPem) {
83
- return ed25519_js_1.ed25519.verify(signature, message, this.publicKeyToBytes(publicKeyPem));
84
- }
85
- static x25519PublicKey(privateKey) {
86
- return ed25519_js_1.x25519.getPublicKey(privateKey);
87
- }
88
- static x25519SharedSecret(privateKey, publicKey) {
89
- return ed25519_js_1.x25519.getSharedSecret(privateKey, publicKey);
90
- }
91
- static x25519RandomPrivateKey() {
92
- return ed25519_js_1.x25519.utils.randomSecretKey();
93
- }
94
- }
95
- exports.CryptoAdapter = CryptoAdapter;
96
- //# sourceMappingURL=CryptoAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CryptoAdapter.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/CryptoAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { Buffer } from 'buffer';
2
- import { Media } from '../media';
3
- import { StringValueObject } from '../StringValueObject';
4
- export type CryptoPayload = string | StringValueObject | Buffer | Media;
5
- //# sourceMappingURL=CryptoPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CryptoPayload.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/CryptoPayload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,iBAAiB,GAAG,MAAM,GAAG,KAAK,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=CryptoPayload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CryptoPayload.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/CryptoPayload.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
1
- import type { Buffer } from 'buffer';
2
- import { PrimitiveOf } from '../../interfaces';
3
- import { StringValueObject } from '../StringValueObject';
4
- import { CryptoPayload } from './CryptoPayload';
5
- import { EncryptedPayload } from './EncryptedPayload';
6
- import { EncryptedPrivateKey } from './EncryptedPrivateKey';
7
- import { PrivateKey } from './PrivateKey';
8
- import { PublicKey } from './PublicKey';
9
- import { Signature } from './Signature';
10
- export declare class EncryptedKeyPair {
11
- private readonly publicKey;
12
- private readonly encryptedPrivateKey;
13
- static encryptKeyPair(publicKey: PublicKey, privateKey: PrivateKey, password: string | StringValueObject): Promise<EncryptedKeyPair>;
14
- static fromPrimitives(primitives: PrimitiveOf<EncryptedKeyPair>): EncryptedKeyPair;
15
- constructor(publicKey: PublicKey, encryptedPrivateKey: EncryptedPrivateKey);
16
- isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
17
- sign(payload: CryptoPayload, password: string | StringValueObject): Promise<Signature>;
18
- toPrimitives(): {
19
- encryptedPrivateKey: string;
20
- publicKey: string;
21
- };
22
- encrypt(payload: CryptoPayload): EncryptedPayload;
23
- decrypt(encryptedPayload: EncryptedPayload, password: string | StringValueObject): Promise<Buffer>;
24
- }
25
- //# sourceMappingURL=EncryptedKeyPair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EncryptedKeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,gBAAgB;IAwBzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;WAxBlB,cAAc,CAChC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;WASd,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,GACxC,gBAAgB;gBAQA,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB;IAGpD,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIG,IAAI,CACf,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,SAAS,CAAC;IAMd,YAAY;;;;IAOZ,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;IAI3C,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;CAKnB"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EncryptedKeyPair = void 0;
4
- const EncryptedPrivateKey_1 = require("./EncryptedPrivateKey");
5
- const PublicKey_1 = require("./PublicKey");
6
- class EncryptedKeyPair {
7
- publicKey;
8
- encryptedPrivateKey;
9
- static async encryptKeyPair(publicKey, privateKey, password) {
10
- const encryptedPrivateKey = await EncryptedPrivateKey_1.EncryptedPrivateKey.create(privateKey, password);
11
- return new EncryptedKeyPair(publicKey, encryptedPrivateKey);
12
- }
13
- static fromPrimitives(primitives) {
14
- return new EncryptedKeyPair(new PublicKey_1.PublicKey(primitives.publicKey), new EncryptedPrivateKey_1.EncryptedPrivateKey(primitives.encryptedPrivateKey));
15
- }
16
- constructor(publicKey, encryptedPrivateKey) {
17
- this.publicKey = publicKey;
18
- this.encryptedPrivateKey = encryptedPrivateKey;
19
- }
20
- isValidSignature(payload, signature) {
21
- return this.publicKey.isValidSignature(payload, signature);
22
- }
23
- async sign(payload, password) {
24
- const privateKey = await this.encryptedPrivateKey.decrypt(password);
25
- return privateKey.sign(payload);
26
- }
27
- toPrimitives() {
28
- return {
29
- encryptedPrivateKey: this.encryptedPrivateKey.valueOf(),
30
- publicKey: this.publicKey.valueOf(),
31
- };
32
- }
33
- encrypt(payload) {
34
- return this.publicKey.encrypt(payload);
35
- }
36
- async decrypt(encryptedPayload, password) {
37
- const privateKey = await this.encryptedPrivateKey.decrypt(password);
38
- return privateKey.decrypt(encryptedPayload);
39
- }
40
- }
41
- exports.EncryptedKeyPair = EncryptedKeyPair;
42
- //# sourceMappingURL=EncryptedKeyPair.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EncryptedKeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":";;;AAMA,+DAA4D;AAE5D,2CAAwC;AAGxC,MAAa,gBAAgB;IAwBR;IACA;IAxBZ,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,SAAoB,EACpB,UAAsB,EACtB,QAAoC;QAEpC,MAAM,mBAAmB,GAAG,MAAM,yCAAmB,CAAC,MAAM,CAC1D,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM,CAAC,cAAc,CAC1B,UAAyC;QAEzC,OAAO,IAAI,gBAAgB,CACzB,IAAI,qBAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACnC,IAAI,yCAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,mBAAwC;QADxC,cAAS,GAAT,SAAS,CAAW;QACpB,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAEG,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,OAAsB,EACtB,QAAoC;QAEpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACvD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;SACpC,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,OAAsB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,gBAAkC,EAClC,QAAoC;QAEpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC;CACF;AA/DD,4CA+DC"}
@@ -1,4 +0,0 @@
1
- import { ValueObject } from '../ValueObject';
2
- export declare class EncryptedPayload extends ValueObject<string> {
3
- }
4
- //# sourceMappingURL=EncryptedPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EncryptedPayload.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,MAAM,CAAC;CAAG"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EncryptedPayload = void 0;
4
- const ValueObject_1 = require("../ValueObject");
5
- class EncryptedPayload extends ValueObject_1.ValueObject {
6
- }
7
- exports.EncryptedPayload = EncryptedPayload;
8
- //# sourceMappingURL=EncryptedPayload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EncryptedPayload.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPayload.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C,MAAa,gBAAiB,SAAQ,yBAAmB;CAAG;AAA5D,4CAA4D"}
@@ -1,11 +0,0 @@
1
- import { StringValueObject } from '../StringValueObject';
2
- import { ValueObject } from '../ValueObject';
3
- import { PrivateKey } from './PrivateKey';
4
- export declare class EncryptedPrivateKey extends ValueObject<string> {
5
- private static readonly versions;
6
- static create(privateKey: PrivateKey, password: string | StringValueObject): Promise<EncryptedPrivateKey>;
7
- constructor(encryptedPrivateKey: string | StringValueObject);
8
- decrypt(password: string | StringValueObject): Promise<PrivateKey>;
9
- needsReEncryption(): boolean;
10
- }
11
- //# sourceMappingURL=EncryptedPrivateKey.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EncryptedPrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPrivateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;WAEkB,MAAM,CACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,mBAAmB,CAAC;gBASnB,mBAAmB,EAAE,MAAM,GAAG,iBAAiB;IAI9C,OAAO,CAClB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,UAAU,CAAC;IAaf,iBAAiB,IAAI,OAAO;CAYpC"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EncryptedPrivateKey = void 0;
4
- const ValueObject_1 = require("../ValueObject");
5
- const EncryptedPrivateKeyLegacy_1 = require("./encrypted-private-key/EncryptedPrivateKeyLegacy");
6
- const EncryptedPrivateKeyV2_1 = require("./encrypted-private-key/EncryptedPrivateKeyV2");
7
- class EncryptedPrivateKey extends ValueObject_1.ValueObject {
8
- static versions = [
9
- new EncryptedPrivateKeyLegacy_1.EncryptedPrivateKeyLegacy(),
10
- new EncryptedPrivateKeyV2_1.EncryptedPrivateKeyV2(),
11
- ];
12
- static async create(privateKey, password) {
13
- const encryptedPrivateKey = await EncryptedPrivateKeyV2_1.EncryptedPrivateKeyV2.encrypt(privateKey, password);
14
- return new EncryptedPrivateKey(encryptedPrivateKey);
15
- }
16
- constructor(encryptedPrivateKey) {
17
- super(encryptedPrivateKey?.valueOf());
18
- }
19
- async decrypt(password) {
20
- const parts = this.valueOf().split('.');
21
- const version = EncryptedPrivateKey.versions.find((handler) => handler.matches(parts));
22
- if (!version) {
23
- throw new Error('Invalid encrypted private key format');
24
- }
25
- return version.decrypt(parts, password);
26
- }
27
- needsReEncryption() {
28
- const parts = this.valueOf().split('.');
29
- const version = EncryptedPrivateKey.versions.find((handler) => handler.matches(parts));
30
- if (!version) {
31
- return false;
32
- }
33
- return version.needsReEncryption();
34
- }
35
- }
36
- exports.EncryptedPrivateKey = EncryptedPrivateKey;
37
- //# sourceMappingURL=EncryptedPrivateKey.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EncryptedPrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPrivateKey.ts"],"names":[],"mappings":";;;AACA,gDAA6C;AAC7C,iGAA8F;AAC9F,yFAAsF;AAGtF,MAAa,mBAAoB,SAAQ,yBAAmB;IAClD,MAAM,CAAU,QAAQ,GAAG;QACjC,IAAI,qDAAyB,EAAE;QAC/B,IAAI,6CAAqB,EAAE;KAC5B,CAAC;IAEK,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,UAAsB,EACtB,QAAoC;QAEpC,MAAM,mBAAmB,GAAG,MAAM,6CAAqB,CAAC,OAAO,CAC7D,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,mBAA+C;QACzD,KAAK,CAAC,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,QAAoC;QAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CACvB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEM,iBAAiB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CACvB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACrC,CAAC;;AAhDH,kDAiDC"}
@@ -1,4 +0,0 @@
1
- import { ValueObject } from '../ValueObject';
2
- export declare abstract class Key extends ValueObject<string> {
3
- }
4
- //# sourceMappingURL=Key.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/Key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,8BAAsB,GAAI,SAAQ,WAAW,CAAC,MAAM,CAAC;CAAG"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Key = void 0;
4
- const ValueObject_1 = require("../ValueObject");
5
- class Key extends ValueObject_1.ValueObject {
6
- }
7
- exports.Key = Key;
8
- //# sourceMappingURL=Key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/Key.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C,MAAsB,GAAI,SAAQ,yBAAmB;CAAG;AAAxD,kBAAwD"}
@@ -1,26 +0,0 @@
1
- import type { Buffer } from 'buffer';
2
- import { PrimitiveOf } from '../../interfaces';
3
- import { StringValueObject } from '../StringValueObject';
4
- import { CryptoPayload } from './CryptoPayload';
5
- import { EncryptedKeyPair } from './EncryptedKeyPair';
6
- import { EncryptedPayload } from './EncryptedPayload';
7
- import { PrivateKey } from './PrivateKey';
8
- import { PublicKey } from './PublicKey';
9
- import { Signature } from './Signature';
10
- export declare class KeyPair {
11
- private readonly publicKey;
12
- private readonly privateKey;
13
- static generate(): Promise<KeyPair>;
14
- static fromPrimitives(primitives: PrimitiveOf<KeyPair>): KeyPair;
15
- constructor(publicKey: PublicKey, privateKey: PrivateKey);
16
- encryptKeyPair(password: string | StringValueObject): Promise<EncryptedKeyPair>;
17
- isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
18
- sign(payload: CryptoPayload): Signature;
19
- toPrimitives(): {
20
- privateKey: string;
21
- publicKey: string;
22
- };
23
- encrypt(payload: CryptoPayload): EncryptedPayload;
24
- decrypt(encryptedPayload: EncryptedPayload): Buffer;
25
- }
26
- //# sourceMappingURL=KeyPair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,OAAO;IAgBhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAhBf,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WAO5B,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO;gBAQpD,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU;IAG5B,cAAc,CACzB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;IAQrB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIH,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAIvC,YAAY;;;;IAOZ,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;IAIjD,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;CAG3D"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyPair = void 0;
4
- const EncryptedKeyPair_1 = require("./EncryptedKeyPair");
5
- const PrivateKey_1 = require("./PrivateKey");
6
- const PublicKey_1 = require("./PublicKey");
7
- class KeyPair {
8
- publicKey;
9
- privateKey;
10
- static generate() {
11
- const privateKey = PrivateKey_1.PrivateKey.generate();
12
- const publicKey = privateKey.getPublicKey();
13
- return Promise.resolve(new KeyPair(publicKey, privateKey));
14
- }
15
- static fromPrimitives(primitives) {
16
- return new KeyPair(new PublicKey_1.PublicKey(primitives.publicKey), new PrivateKey_1.PrivateKey(primitives.privateKey));
17
- }
18
- constructor(publicKey, privateKey) {
19
- this.publicKey = publicKey;
20
- this.privateKey = privateKey;
21
- }
22
- async encryptKeyPair(password) {
23
- return await EncryptedKeyPair_1.EncryptedKeyPair.encryptKeyPair(this.publicKey, this.privateKey, password.valueOf());
24
- }
25
- isValidSignature(payload, signature) {
26
- return this.publicKey.isValidSignature(payload, signature);
27
- }
28
- sign(payload) {
29
- return this.privateKey.sign(payload);
30
- }
31
- toPrimitives() {
32
- return {
33
- privateKey: this.privateKey.valueOf(),
34
- publicKey: this.publicKey.valueOf(),
35
- };
36
- }
37
- encrypt(payload) {
38
- return this.publicKey.encrypt(payload);
39
- }
40
- decrypt(encryptedPayload) {
41
- return this.privateKey.decrypt(encryptedPayload);
42
- }
43
- }
44
- exports.KeyPair = KeyPair;
45
- //# sourceMappingURL=KeyPair.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":";;;AAKA,yDAAsD;AAEtD,6CAA0C;AAC1C,2CAAwC;AAGxC,MAAa,OAAO;IAgBC;IACA;IAhBZ,MAAM,CAAC,QAAQ;QACpB,MAAM,UAAU,GAAG,uBAAU,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QAE5C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,UAAgC;QAC3D,OAAO,IAAI,OAAO,CAChB,IAAI,qBAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACnC,IAAI,uBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CACtC,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,UAAsB;QADtB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEG,KAAK,CAAC,cAAc,CACzB,QAAoC;QAEpC,OAAO,MAAM,mCAAgB,CAAC,cAAc,CAC1C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,QAAQ,CAAC,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAEM,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,IAAI,CAAC,OAAsB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;SACpC,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,OAAsB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO,CAAC,gBAAkC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;CACF;AAvDD,0BAuDC"}
@@ -1,19 +0,0 @@
1
- import { Buffer } from 'buffer';
2
- import { StringValueObject } from '../StringValueObject';
3
- import { CryptoPayload } from './CryptoPayload';
4
- import { EncryptedPayload } from './EncryptedPayload';
5
- import { Key } from './Key';
6
- import { PublicKey } from './PublicKey';
7
- import { Signature } from './Signature';
8
- export declare class PrivateKey extends Key {
9
- private static readonly LENGTH;
10
- private static readonly PATTERN;
11
- static fromPEM(pem: string | StringValueObject): PrivateKey;
12
- static generate(): PrivateKey;
13
- constructor(value: string | StringValueObject);
14
- private ensureIsValidPrivateKey;
15
- getPublicKey(): PublicKey;
16
- sign(payload: CryptoPayload): Signature;
17
- decrypt(encryptedPayload: EncryptedPayload): Buffer;
18
- }
19
- //# sourceMappingURL=PrivateKey.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,UAAW,SAAQ,GAAG;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CACiD;WAElE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,UAAU;WAIpD,QAAQ,IAAI,UAAU;gBAIxB,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,uBAAuB;IAQxB,YAAY,IAAI,SAAS;IAIzB,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAOvC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;CAwB3D"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PrivateKey = void 0;
4
- const buffer_1 = require("buffer");
5
- const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
6
- const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
7
- const patterns_1 = require("../../patterns");
8
- const NullObject_1 = require("../NullObject");
9
- const CryptoAdapter_1 = require("./CryptoAdapter");
10
- const Key_1 = require("./Key");
11
- const PublicKey_1 = require("./PublicKey");
12
- const Signature_1 = require("./Signature");
13
- class PrivateKey extends Key_1.Key {
14
- static LENGTH = 119;
15
- static PATTERN = /^-----BEGIN PRIVATE KEY-----\n[A-Za-z0-9+/=]+\n-----END PRIVATE KEY-----\n$/;
16
- static fromPEM(pem) {
17
- return new PrivateKey(pem.valueOf());
18
- }
19
- static generate() {
20
- return new PrivateKey(CryptoAdapter_1.CryptoAdapter.randomPrivateKeyPem());
21
- }
22
- constructor(value) {
23
- super(value?.valueOf());
24
- if (NullObject_1.NullObject.isNullObject(this)) {
25
- return this;
26
- }
27
- this.ensureIsValidPrivateKey(this.value);
28
- }
29
- ensureIsValidPrivateKey(value) {
30
- (0, patterns_1.assert)(value.length === PrivateKey.LENGTH, new InvalidLengthError_1.InvalidLengthError(value, PrivateKey.LENGTH));
31
- (0, patterns_1.assert)(PrivateKey.PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(value));
32
- }
33
- getPublicKey() {
34
- return PublicKey_1.PublicKey.fromPEM(CryptoAdapter_1.CryptoAdapter.getPublicKey(this.valueOf()));
35
- }
36
- sign(payload) {
37
- const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
38
- const signatureBuffer = CryptoAdapter_1.CryptoAdapter.sign(messageBuffer, this.valueOf());
39
- return Signature_1.Signature.fromBuffer(signatureBuffer);
40
- }
41
- decrypt(encryptedPayload) {
42
- const [ephPubB64, ivB64, cipherTextB64, tagB64] = encryptedPayload
43
- .valueOf()
44
- .split('.');
45
- const ephemeralPub = buffer_1.Buffer.from(ephPubB64, 'base64');
46
- const iv = buffer_1.Buffer.from(ivB64, 'base64');
47
- const cipherText = buffer_1.Buffer.from(cipherTextB64, 'base64');
48
- const tag = buffer_1.Buffer.from(tagB64, 'base64');
49
- const x25519Priv = CryptoAdapter_1.CryptoAdapter.privateKeyToX25519(this.valueOf());
50
- const sharedSecret = CryptoAdapter_1.CryptoAdapter.x25519SharedSecret(x25519Priv, ephemeralPub);
51
- const aesKey = CryptoAdapter_1.CryptoAdapter.deriveEncryptionKey(sharedSecret, ephemeralPub);
52
- return CryptoAdapter_1.CryptoAdapter.decryptAes256Gcm(aesKey, iv, cipherText, tag);
53
- }
54
- }
55
- exports.PrivateKey = PrivateKey;
56
- //# sourceMappingURL=PrivateKey.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAE3C,mDAAgD;AAGhD,+BAA4B;AAC5B,2CAAwC;AACxC,2CAAwC;AAExC,MAAa,UAAW,SAAQ,SAAG;IACzB,MAAM,CAAU,MAAM,GAAG,GAAG,CAAC;IAC7B,MAAM,CAAU,OAAO,GAC7B,6EAA6E,CAAC;IAEzE,MAAM,CAAC,OAAO,CAAC,GAA+B;QACnD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,UAAU,CAAC,6BAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEO,uBAAuB,CAAC,KAAa;QAC3C,IAAA,iBAAM,EACJ,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAClC,IAAI,uCAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CACjD,CAAC;QACF,IAAA,iBAAM,EAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,YAAY;QACjB,OAAO,qBAAS,CAAC,OAAO,CAAC,6BAAa,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,IAAI,CAAC,OAAsB;QAChC,MAAM,aAAa,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,6BAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1E,OAAO,qBAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAEM,OAAO,CAAC,gBAAkC;QAC/C,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,GAAG,gBAAgB;aAC/D,OAAO,EAAE;aACT,KAAK,CAAC,GAAG,CAAC,CAAC;QAEd,MAAM,YAAY,GAAG,eAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,eAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,6BAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpE,MAAM,YAAY,GAAG,6BAAa,CAAC,kBAAkB,CACnD,UAAU,EACV,YAAY,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,6BAAa,CAAC,mBAAmB,CAC9C,YAAY,EACZ,YAAY,CACb,CAAC;QAEF,OAAO,6BAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;;AAjEH,gCAkEC"}
@@ -1,15 +0,0 @@
1
- import { StringValueObject } from '../StringValueObject';
2
- import { CryptoPayload } from './CryptoPayload';
3
- import { EncryptedPayload } from './EncryptedPayload';
4
- import { Key } from './Key';
5
- import { Signature } from './Signature';
6
- export declare class PublicKey extends Key {
7
- private static readonly LENGTH;
8
- private static readonly PATTERN;
9
- static fromPEM(pem: string | StringValueObject): PublicKey;
10
- constructor(value: string | StringValueObject);
11
- private ensureIsValidPublicKey;
12
- isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
13
- encrypt(payload: CryptoPayload): EncryptedPayload;
14
- }
15
- //# sourceMappingURL=PublicKey.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PublicKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,SAAU,SAAQ,GAAG;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAC+C;WAEhE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;gBAIrD,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,sBAAsB;IAQvB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAYH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;CAiCzD"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PublicKey = void 0;
4
- const buffer_1 = require("buffer");
5
- const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
6
- const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
7
- const patterns_1 = require("../../patterns");
8
- const NullObject_1 = require("../NullObject");
9
- const CryptoAdapter_1 = require("./CryptoAdapter");
10
- const EncryptedPayload_1 = require("./EncryptedPayload");
11
- const Key_1 = require("./Key");
12
- class PublicKey extends Key_1.Key {
13
- static LENGTH = 113;
14
- static PATTERN = /^-----BEGIN PUBLIC KEY-----\n[A-Za-z0-9+/=]+\n-----END PUBLIC KEY-----\n$/;
15
- static fromPEM(pem) {
16
- return new PublicKey(pem.valueOf());
17
- }
18
- constructor(value) {
19
- super(value?.valueOf());
20
- if (NullObject_1.NullObject.isNullObject(this)) {
21
- return this;
22
- }
23
- this.ensureIsValidPublicKey(this.value);
24
- }
25
- ensureIsValidPublicKey(value) {
26
- (0, patterns_1.assert)(value.length === PublicKey.LENGTH, new InvalidLengthError_1.InvalidLengthError(value, PublicKey.LENGTH));
27
- (0, patterns_1.assert)(PublicKey.PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(value));
28
- }
29
- isValidSignature(payload, signature) {
30
- const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
31
- const signatureBuffer = buffer_1.Buffer.from(signature.valueOf(), 'base64');
32
- const valid = CryptoAdapter_1.CryptoAdapter.verify(signatureBuffer, messageBuffer, this.valueOf());
33
- return valid;
34
- }
35
- encrypt(payload) {
36
- const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
37
- const x25519Pub = CryptoAdapter_1.CryptoAdapter.publicKeyToX25519(this.valueOf());
38
- const ephemeralPriv = CryptoAdapter_1.CryptoAdapter.x25519RandomPrivateKey();
39
- const ephemeralPub = CryptoAdapter_1.CryptoAdapter.x25519PublicKey(ephemeralPriv);
40
- const sharedSecret = CryptoAdapter_1.CryptoAdapter.x25519SharedSecret(ephemeralPriv, x25519Pub);
41
- const aesKey = CryptoAdapter_1.CryptoAdapter.deriveEncryptionKey(sharedSecret, ephemeralPub);
42
- const iv = CryptoAdapter_1.CryptoAdapter.randomBytes(12);
43
- const { cipherText, tag } = CryptoAdapter_1.CryptoAdapter.encryptAes256Gcm(aesKey, iv, messageBuffer);
44
- const result = [
45
- buffer_1.Buffer.from(ephemeralPub).toString('base64'),
46
- iv.toString('base64'),
47
- buffer_1.Buffer.from(cipherText).toString('base64'),
48
- buffer_1.Buffer.from(tag).toString('base64'),
49
- ].join('.');
50
- return new EncryptedPayload_1.EncryptedPayload(result);
51
- }
52
- }
53
- exports.PublicKey = PublicKey;
54
- //# sourceMappingURL=PublicKey.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAE3C,mDAAgD;AAEhD,yDAAsD;AACtD,+BAA4B;AAG5B,MAAa,SAAU,SAAQ,SAAG;IACxB,MAAM,CAAU,MAAM,GAAG,GAAG,CAAC;IAC7B,MAAM,CAAU,OAAO,GAC7B,2EAA2E,CAAC;IAEvE,MAAM,CAAC,OAAO,CAAC,GAA+B;QACnD,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,sBAAsB,CAAC,KAAa;QAC1C,IAAA,iBAAM,EACJ,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EACjC,IAAI,uCAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAChD,CAAC;QACF,IAAA,iBAAM,EAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,MAAM,aAAa,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,6BAAa,CAAC,MAAM,CAChC,eAAe,EACf,aAAa,EACb,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,OAAO,CAAC,OAAsB;QACnC,MAAM,aAAa,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,6BAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,6BAAa,CAAC,sBAAsB,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,6BAAa,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,6BAAa,CAAC,kBAAkB,CACnD,aAAa,EACb,SAAS,CACV,CAAC;QAEF,MAAM,MAAM,GAAG,6BAAa,CAAC,mBAAmB,CAC9C,YAAY,EACZ,YAAY,CACb,CAAC;QAEF,MAAM,EAAE,GAAG,6BAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,6BAAa,CAAC,gBAAgB,CACxD,MAAM,EACN,EAAE,EACF,aAAa,CACd,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrB,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1C,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,OAAO,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;;AA1EH,8BA2EC"}
@@ -1,11 +0,0 @@
1
- import type { Buffer } from 'buffer';
2
- import { StringValueObject } from '../StringValueObject';
3
- import { ValueObject } from '../ValueObject';
4
- export declare class Signature extends ValueObject<string> {
5
- private static readonly LENGTH;
6
- private static readonly PATTERN;
7
- static fromBuffer(buffer: Buffer): Signature;
8
- constructor(value: string | StringValueObject);
9
- private hasValidFormat;
10
- }
11
- //# sourceMappingURL=Signature.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Signature.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,SAAU,SAAQ,WAAW,CAAC,MAAM,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA2B;WAE5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;gBAIvC,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,cAAc;CAGvB"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Signature = void 0;
4
- const InvalidSignatureError_1 = require("../../errors/InvalidSignatureError");
5
- const patterns_1 = require("../../patterns");
6
- const NullObject_1 = require("../NullObject");
7
- const ValueObject_1 = require("../ValueObject");
8
- class Signature extends ValueObject_1.ValueObject {
9
- static LENGTH = 88;
10
- static PATTERN = /^[A-Za-z0-9+/]{86}==$/;
11
- static fromBuffer(buffer) {
12
- return new Signature(buffer.toString('base64'));
13
- }
14
- constructor(value) {
15
- super(value?.valueOf());
16
- if (NullObject_1.NullObject.isNullObject(this)) {
17
- return this;
18
- }
19
- (0, patterns_1.assert)(this.hasValidFormat(), new InvalidSignatureError_1.InvalidSignatureError(Signature.LENGTH));
20
- }
21
- hasValidFormat() {
22
- return Signature.PATTERN.test(this.value);
23
- }
24
- }
25
- exports.Signature = Signature;
26
- //# sourceMappingURL=Signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Signature.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":";;;AAEA,8EAA2E;AAC3E,6CAAwC;AACxC,8CAA2C;AAE3C,gDAA6C;AAE7C,MAAa,SAAU,SAAQ,yBAAmB;IACxC,MAAM,CAAU,MAAM,GAAG,EAAE,CAAC;IAC5B,MAAM,CAAU,OAAO,GAAG,uBAAuB,CAAC;IAEnD,MAAM,CAAC,UAAU,CAAC,MAAc;QACrC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAA,iBAAM,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,6CAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;;AApBH,8BAqBC"}