@haskou/value-objects 4.0.0 → 4.1.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 (143) hide show
  1. package/README.md +176 -79
  2. package/dist/errors/index.d.ts +0 -2
  3. package/dist/errors/index.d.ts.map +1 -1
  4. package/dist/errors/index.js +0 -2
  5. package/dist/errors/index.js.map +1 -1
  6. package/dist/interfaces/PrimitiveOf.d.ts +1 -5
  7. package/dist/interfaces/PrimitiveOf.d.ts.map +1 -1
  8. package/dist/patterns/Assert.d.ts +1 -1
  9. package/dist/patterns/Assert.d.ts.map +1 -1
  10. package/dist/types/Primitive.d.ts +1 -1
  11. package/dist/types/Primitive.d.ts.map +1 -1
  12. package/dist/value-objects/Email.d.ts +0 -1
  13. package/dist/value-objects/Email.d.ts.map +1 -1
  14. package/dist/value-objects/Email.js +1 -2
  15. package/dist/value-objects/Email.js.map +1 -1
  16. package/dist/value-objects/NumberValueObject.js +1 -1
  17. package/dist/value-objects/NumberValueObject.js.map +1 -1
  18. package/dist/value-objects/UniqueObjectArray.d.ts.map +1 -1
  19. package/dist/value-objects/coordinates/Latitude.d.ts.map +1 -1
  20. package/dist/value-objects/coordinates/Latitude.js +4 -5
  21. package/dist/value-objects/coordinates/Latitude.js.map +1 -1
  22. package/dist/value-objects/coordinates/Longitude.d.ts.map +1 -1
  23. package/dist/value-objects/coordinates/Longitude.js +4 -5
  24. package/dist/value-objects/coordinates/Longitude.js.map +1 -1
  25. package/dist/value-objects/crypto/CryptoAdapter.d.ts +2 -3
  26. package/dist/value-objects/crypto/CryptoAdapter.d.ts.map +1 -1
  27. package/dist/value-objects/crypto/CryptoAdapter.js +4 -9
  28. package/dist/value-objects/crypto/CryptoAdapter.js.map +1 -1
  29. package/dist/value-objects/crypto/EncryptedKeyPair.d.ts +4 -4
  30. package/dist/value-objects/crypto/EncryptedKeyPair.d.ts.map +1 -1
  31. package/dist/value-objects/crypto/EncryptedKeyPair.js.map +1 -1
  32. package/dist/value-objects/crypto/EncryptedPayload.d.ts +0 -2
  33. package/dist/value-objects/crypto/EncryptedPayload.d.ts.map +1 -1
  34. package/dist/value-objects/crypto/EncryptedPayload.js +0 -15
  35. package/dist/value-objects/crypto/EncryptedPayload.js.map +1 -1
  36. package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts +2 -3
  37. package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts.map +1 -1
  38. package/dist/value-objects/crypto/EncryptedPrivateKey.js +4 -6
  39. package/dist/value-objects/crypto/EncryptedPrivateKey.js.map +1 -1
  40. package/dist/value-objects/crypto/KeyPair.d.ts +2 -2
  41. package/dist/value-objects/crypto/KeyPair.d.ts.map +1 -1
  42. package/dist/value-objects/crypto/KeyPair.js +1 -1
  43. package/dist/value-objects/crypto/KeyPair.js.map +1 -1
  44. package/dist/value-objects/crypto/PrivateKey.d.ts +0 -13
  45. package/dist/value-objects/crypto/PrivateKey.d.ts.map +1 -1
  46. package/dist/value-objects/crypto/PrivateKey.js +12 -58
  47. package/dist/value-objects/crypto/PrivateKey.js.map +1 -1
  48. package/dist/value-objects/crypto/PublicKey.d.ts +2 -6
  49. package/dist/value-objects/crypto/PublicKey.d.ts.map +1 -1
  50. package/dist/value-objects/crypto/PublicKey.js +6 -20
  51. package/dist/value-objects/crypto/PublicKey.js.map +1 -1
  52. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts +2 -2
  53. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts.map +1 -1
  54. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js.map +1 -1
  55. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts +5 -7
  56. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts.map +1 -1
  57. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js +17 -41
  58. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js.map +1 -1
  59. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts +2 -2
  60. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts.map +1 -1
  61. package/dist/value-objects/crypto/index.d.ts +0 -3
  62. package/dist/value-objects/crypto/index.d.ts.map +1 -1
  63. package/dist/value-objects/crypto/index.js +0 -3
  64. package/dist/value-objects/crypto/index.js.map +1 -1
  65. package/dist/value-objects/hashes/MD5Hash.d.ts.map +1 -1
  66. package/dist/value-objects/hashes/MD5Hash.js +1 -2
  67. package/dist/value-objects/hashes/MD5Hash.js.map +1 -1
  68. package/dist/value-objects/hashes/SHA256Hash.d.ts.map +1 -1
  69. package/dist/value-objects/hashes/SHA256Hash.js +1 -2
  70. package/dist/value-objects/hashes/SHA256Hash.js.map +1 -1
  71. package/dist/value-objects/hashes/SHA512Hash.d.ts.map +1 -1
  72. package/dist/value-objects/hashes/SHA512Hash.js +1 -2
  73. package/dist/value-objects/hashes/SHA512Hash.js.map +1 -1
  74. package/dist/value-objects/ids/ShortId.d.ts +0 -1
  75. package/dist/value-objects/ids/ShortId.d.ts.map +1 -1
  76. package/dist/value-objects/ids/ShortId.js +3 -7
  77. package/dist/value-objects/ids/ShortId.js.map +1 -1
  78. package/dist/value-objects/ids/UUID.d.ts +0 -2
  79. package/dist/value-objects/ids/UUID.d.ts.map +1 -1
  80. package/dist/value-objects/ids/UUID.js +4 -18
  81. package/dist/value-objects/ids/UUID.js.map +1 -1
  82. package/dist/value-objects/index.d.ts +0 -1
  83. package/dist/value-objects/index.d.ts.map +1 -1
  84. package/dist/value-objects/index.js +0 -1
  85. package/dist/value-objects/index.js.map +1 -1
  86. package/dist/value-objects/media/Media.d.ts +0 -2
  87. package/dist/value-objects/media/Media.d.ts.map +1 -1
  88. package/dist/value-objects/media/Media.js +1 -14
  89. package/dist/value-objects/media/Media.js.map +1 -1
  90. package/dist/value-objects/time/CalendarDay.d.ts +1 -2
  91. package/dist/value-objects/time/CalendarDay.d.ts.map +1 -1
  92. package/dist/value-objects/time/CalendarDay.js +11 -25
  93. package/dist/value-objects/time/CalendarDay.js.map +1 -1
  94. package/dist/value-objects/time/DayOfWeek.d.ts.map +1 -1
  95. package/dist/value-objects/time/DayOfWeek.js +3 -2
  96. package/dist/value-objects/time/DayOfWeek.js.map +1 -1
  97. package/dist/value-objects/time/Duration.js +2 -2
  98. package/dist/value-objects/time/Duration.js.map +1 -1
  99. package/dist/value-objects/time/Hour.d.ts +0 -3
  100. package/dist/value-objects/time/Hour.d.ts.map +1 -1
  101. package/dist/value-objects/time/Hour.js +31 -30
  102. package/dist/value-objects/time/Hour.js.map +1 -1
  103. package/dist/value-objects/time/Timestamp.d.ts +0 -3
  104. package/dist/value-objects/time/Timestamp.d.ts.map +1 -1
  105. package/dist/value-objects/time/Timestamp.js +6 -50
  106. package/dist/value-objects/time/Timestamp.js.map +1 -1
  107. package/dist/value-objects/time/TimestampInterval.d.ts +4 -2
  108. package/dist/value-objects/time/TimestampInterval.d.ts.map +1 -1
  109. package/dist/value-objects/time/TimestampInterval.js +10 -0
  110. package/dist/value-objects/time/TimestampInterval.js.map +1 -1
  111. package/package.json +32 -57
  112. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts +0 -5
  113. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts.map +0 -1
  114. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js +0 -11
  115. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js.map +0 -1
  116. package/dist/errors/InvalidPasswordError.d.ts +0 -5
  117. package/dist/errors/InvalidPasswordError.d.ts.map +0 -1
  118. package/dist/errors/InvalidPasswordError.js +0 -11
  119. package/dist/errors/InvalidPasswordError.js.map +0 -1
  120. package/dist/value-objects/Password.d.ts +0 -8
  121. package/dist/value-objects/Password.d.ts.map +0 -1
  122. package/dist/value-objects/Password.js +0 -28
  123. package/dist/value-objects/Password.js.map +0 -1
  124. package/dist/value-objects/crypto/AsymmetricEncryptedPayload.d.ts +0 -5
  125. package/dist/value-objects/crypto/AsymmetricEncryptedPayload.d.ts.map +0 -1
  126. package/dist/value-objects/crypto/AsymmetricEncryptedPayload.js +0 -11
  127. package/dist/value-objects/crypto/AsymmetricEncryptedPayload.js.map +0 -1
  128. package/dist/value-objects/crypto/StrictBase64.d.ts +0 -15
  129. package/dist/value-objects/crypto/StrictBase64.d.ts.map +0 -1
  130. package/dist/value-objects/crypto/StrictBase64.js +0 -36
  131. package/dist/value-objects/crypto/StrictBase64.js.map +0 -1
  132. package/dist/value-objects/crypto/SymmetricEncryptedPayload.d.ts +0 -5
  133. package/dist/value-objects/crypto/SymmetricEncryptedPayload.d.ts.map +0 -1
  134. package/dist/value-objects/crypto/SymmetricEncryptedPayload.js +0 -11
  135. package/dist/value-objects/crypto/SymmetricEncryptedPayload.js.map +0 -1
  136. package/dist/value-objects/crypto/SymmetricKey.d.ts +0 -49
  137. package/dist/value-objects/crypto/SymmetricKey.d.ts.map +0 -1
  138. package/dist/value-objects/crypto/SymmetricKey.js +0 -149
  139. package/dist/value-objects/crypto/SymmetricKey.js.map +0 -1
  140. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts +0 -24
  141. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts.map +0 -1
  142. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js +0 -105
  143. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js.map +0 -1
@@ -1,25 +1,25 @@
1
1
  import type { Buffer } from 'buffer';
2
2
  import { PrimitiveOf } from '../../interfaces';
3
+ import { StringValueObject } from '../StringValueObject';
3
4
  import { CryptoPayload } from './CryptoPayload';
4
5
  import { EncryptedPayload } from './EncryptedPayload';
5
6
  import { EncryptedPrivateKey } from './EncryptedPrivateKey';
6
7
  import { PrivateKey } from './PrivateKey';
7
8
  import { PublicKey } from './PublicKey';
8
9
  import { Signature } from './Signature';
9
- import { CryptoPassword } from './SymmetricKey';
10
10
  export declare class EncryptedKeyPair {
11
11
  private readonly publicKey;
12
12
  private readonly encryptedPrivateKey;
13
- static encryptKeyPair(publicKey: PublicKey, privateKey: PrivateKey, password: CryptoPassword): Promise<EncryptedKeyPair>;
13
+ static encryptKeyPair(publicKey: PublicKey, privateKey: PrivateKey, password: string | StringValueObject): Promise<EncryptedKeyPair>;
14
14
  static fromPrimitives(primitives: PrimitiveOf<EncryptedKeyPair>): EncryptedKeyPair;
15
15
  constructor(publicKey: PublicKey, encryptedPrivateKey: EncryptedPrivateKey);
16
16
  isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
17
- sign(payload: CryptoPayload, password: CryptoPassword): Promise<Signature>;
17
+ sign(payload: CryptoPayload, password: string | StringValueObject): Promise<Signature>;
18
18
  toPrimitives(): {
19
19
  encryptedPrivateKey: string;
20
20
  publicKey: string;
21
21
  };
22
22
  encrypt(payload: CryptoPayload): EncryptedPayload;
23
- decrypt(encryptedPayload: EncryptedPayload, password: CryptoPassword): Promise<Buffer>;
23
+ decrypt(encryptedPayload: EncryptedPayload, password: string | StringValueObject): Promise<Buffer>;
24
24
  }
25
25
  //# sourceMappingURL=EncryptedKeyPair.d.ts.map
@@ -1 +1 @@
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,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;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,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,cAAc,GACvB,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,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC;IAMd,YAAY;;;;IAOZ,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;IAI3C,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC;CAKnB"}
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 +1 @@
1
- {"version":3,"file":"EncryptedKeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":";;;AAKA,+DAA4D;AAE5D,2CAAwC;AAIxC,MAAa,gBAAgB;IAwBR;IACA;IAxBZ,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,SAAoB,EACpB,UAAsB,EACtB,QAAwB;QAExB,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,QAAwB;QAExB,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,QAAwB;QAExB,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
+ {"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,6 +1,4 @@
1
1
  import { ValueObject } from '../ValueObject';
2
- export type EncryptedPayloadScheme = 'asymmetric' | 'symmetric' | 'unknown';
3
2
  export declare class EncryptedPayload extends ValueObject<string> {
4
- getScheme(): EncryptedPayloadScheme;
5
3
  }
6
4
  //# sourceMappingURL=EncryptedPayload.d.ts.map
@@ -1 +1 @@
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,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;AAE5E,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,MAAM,CAAC;IAChD,SAAS,IAAI,sBAAsB;CAqB3C"}
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"}
@@ -3,21 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EncryptedPayload = void 0;
4
4
  const ValueObject_1 = require("../ValueObject");
5
5
  class EncryptedPayload extends ValueObject_1.ValueObject {
6
- getScheme() {
7
- const parts = this.valueOf().split('.');
8
- if (parts.length === 4) {
9
- return 'asymmetric';
10
- }
11
- if (parts.length === 6 &&
12
- parts[0] === 'v2' &&
13
- parts[1] === 'x25519-hkdf-sha256-aes-256-gcm') {
14
- return 'asymmetric';
15
- }
16
- if (parts.length === 5 && parts[0] === 'v1' && parts[1] === 'aes-256-gcm') {
17
- return 'symmetric';
18
- }
19
- return 'unknown';
20
- }
21
6
  }
22
7
  exports.EncryptedPayload = EncryptedPayload;
23
8
  //# sourceMappingURL=EncryptedPayload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedPayload.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPayload.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAI7C,MAAa,gBAAiB,SAAQ,yBAAmB;IAChD,SAAS;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;YACjB,KAAK,CAAC,CAAC,CAAC,KAAK,gCAAgC,EAC7C,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;YAC1E,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAtBD,4CAsBC"}
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,12 +1,11 @@
1
1
  import { StringValueObject } from '../StringValueObject';
2
2
  import { ValueObject } from '../ValueObject';
3
3
  import { PrivateKey } from './PrivateKey';
4
- import { CryptoPassword } from './SymmetricKey';
5
4
  export declare class EncryptedPrivateKey extends ValueObject<string> {
6
5
  private static readonly versions;
7
- static create(privateKey: PrivateKey, password: CryptoPassword): Promise<EncryptedPrivateKey>;
6
+ static create(privateKey: PrivateKey, password: string | StringValueObject): Promise<EncryptedPrivateKey>;
8
7
  constructor(encryptedPrivateKey: string | StringValueObject);
9
- decrypt(password: CryptoPassword): Promise<PrivateKey>;
8
+ decrypt(password: string | StringValueObject): Promise<PrivateKey>;
10
9
  needsReEncryption(): boolean;
11
10
  }
12
11
  //# sourceMappingURL=EncryptedPrivateKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedPrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPrivateKey.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAI9B;WAEkB,MAAM,CACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,mBAAmB,CAAC;gBASnB,mBAAmB,EAAE,MAAM,GAAG,iBAAiB;IAI9C,OAAO,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAW5D,iBAAiB,IAAI,OAAO;CAYpC"}
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,20 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EncryptedPrivateKey = void 0;
4
- const InvalidEncryptedPrivateKeyFormatError_1 = require("../../errors/InvalidEncryptedPrivateKeyFormatError");
5
- const patterns_1 = require("../../patterns");
6
4
  const ValueObject_1 = require("../ValueObject");
7
5
  const EncryptedPrivateKeyLegacy_1 = require("./encrypted-private-key/EncryptedPrivateKeyLegacy");
8
6
  const EncryptedPrivateKeyV2_1 = require("./encrypted-private-key/EncryptedPrivateKeyV2");
9
- const EncryptedPrivateKeyV3_1 = require("./encrypted-private-key/EncryptedPrivateKeyV3");
10
7
  class EncryptedPrivateKey extends ValueObject_1.ValueObject {
11
8
  static versions = [
12
9
  new EncryptedPrivateKeyLegacy_1.EncryptedPrivateKeyLegacy(),
13
10
  new EncryptedPrivateKeyV2_1.EncryptedPrivateKeyV2(),
14
- new EncryptedPrivateKeyV3_1.EncryptedPrivateKeyV3(),
15
11
  ];
16
12
  static async create(privateKey, password) {
17
- const encryptedPrivateKey = await EncryptedPrivateKeyV3_1.EncryptedPrivateKeyV3.encrypt(privateKey, password);
13
+ const encryptedPrivateKey = await EncryptedPrivateKeyV2_1.EncryptedPrivateKeyV2.encrypt(privateKey, password);
18
14
  return new EncryptedPrivateKey(encryptedPrivateKey);
19
15
  }
20
16
  constructor(encryptedPrivateKey) {
@@ -23,7 +19,9 @@ class EncryptedPrivateKey extends ValueObject_1.ValueObject {
23
19
  async decrypt(password) {
24
20
  const parts = this.valueOf().split('.');
25
21
  const version = EncryptedPrivateKey.versions.find((handler) => handler.matches(parts));
26
- (0, patterns_1.assert)(version, new InvalidEncryptedPrivateKeyFormatError_1.InvalidEncryptedPrivateKeyFormatError());
22
+ if (!version) {
23
+ throw new Error('Invalid encrypted private key format');
24
+ }
27
25
  return version.decrypt(parts, password);
28
26
  }
29
27
  needsReEncryption() {
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedPrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedPrivateKey.ts"],"names":[],"mappings":";;;AAAA,8GAA2G;AAC3G,6CAAwC;AAExC,gDAA6C;AAC7C,iGAA8F;AAC9F,yFAAsF;AACtF,yFAAsF;AAItF,MAAa,mBAAoB,SAAQ,yBAAmB;IAClD,MAAM,CAAU,QAAQ,GAAG;QACjC,IAAI,qDAAyB,EAAE;QAC/B,IAAI,6CAAqB,EAAE;QAC3B,IAAI,6CAAqB,EAAE;KAC5B,CAAC;IAEK,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,UAAsB,EACtB,QAAwB;QAExB,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,CAAC,QAAwB;QAC3C,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,IAAA,iBAAM,EAAC,OAAO,EAAE,IAAI,6EAAqC,EAAE,CAAC,CAAC;QAE7D,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;;AA7CH,kDA8CC"}
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,19 +1,19 @@
1
1
  import type { Buffer } from 'buffer';
2
2
  import { PrimitiveOf } from '../../interfaces';
3
+ import { StringValueObject } from '../StringValueObject';
3
4
  import { CryptoPayload } from './CryptoPayload';
4
5
  import { EncryptedKeyPair } from './EncryptedKeyPair';
5
6
  import { EncryptedPayload } from './EncryptedPayload';
6
7
  import { PrivateKey } from './PrivateKey';
7
8
  import { PublicKey } from './PublicKey';
8
9
  import { Signature } from './Signature';
9
- import { CryptoPassword } from './SymmetricKey';
10
10
  export declare class KeyPair {
11
11
  private readonly publicKey;
12
12
  private readonly privateKey;
13
13
  static generate(): Promise<KeyPair>;
14
14
  static fromPrimitives(primitives: PrimitiveOf<KeyPair>): KeyPair;
15
15
  constructor(publicKey: PublicKey, privateKey: PrivateKey);
16
- encryptKeyPair(password: CryptoPassword): Promise<EncryptedKeyPair>;
16
+ encryptKeyPair(password: string | StringValueObject): Promise<EncryptedKeyPair>;
17
17
  isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
18
18
  sign(payload: CryptoPayload): Signature;
19
19
  toPrimitives(): {
@@ -1 +1 @@
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,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;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,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,cAAc,GACvB,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
+ {"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"}
@@ -20,7 +20,7 @@ class KeyPair {
20
20
  this.privateKey = privateKey;
21
21
  }
22
22
  async encryptKeyPair(password) {
23
- return await EncryptedKeyPair_1.EncryptedKeyPair.encryptKeyPair(this.publicKey, this.privateKey, password);
23
+ return await EncryptedKeyPair_1.EncryptedKeyPair.encryptKeyPair(this.publicKey, this.privateKey, password.valueOf());
24
24
  }
25
25
  isValidSignature(payload, signature) {
26
26
  return this.publicKey.isValidSignature(payload, signature);
@@ -1 +1 @@
1
- {"version":3,"file":"KeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":";;;AAIA,yDAAsD;AAEtD,6CAA0C;AAC1C,2CAAwC;AAIxC,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,QAAwB;QAExB,OAAO,MAAM,mCAAgB,CAAC,cAAc,CAC1C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,QAAQ,CACT,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
+ {"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"}
@@ -7,24 +7,11 @@ import { PublicKey } from './PublicKey';
7
7
  import { Signature } from './Signature';
8
8
  export declare class PrivateKey extends Key {
9
9
  private static readonly LENGTH;
10
- private static readonly LEGACY_ENCRYPTED_PAYLOAD_PARTS;
11
- private static readonly OWASP_ENCRYPTED_PAYLOAD_PARTS;
12
- private static readonly EPHEMERAL_PUBLIC_KEY_LENGTH;
13
- private static readonly IV_LENGTH;
14
- private static readonly TAG_LENGTH;
15
- private static readonly MAX_CIPHERTEXT_LENGTH;
16
- private static readonly PAYLOAD_ALGORITHM;
17
- private static readonly PAYLOAD_VERSION;
18
10
  private static readonly PATTERN;
19
- private static ensureIsBase64;
20
- private static ensureBase64DecodedLength;
21
- private static decodeBase64;
22
- private static getPayloadAad;
23
11
  static fromPEM(pem: string | StringValueObject): PrivateKey;
24
12
  static generate(): PrivateKey;
25
13
  constructor(value: string | StringValueObject);
26
14
  private ensureIsValidPrivateKey;
27
- private decryptPayload;
28
15
  getPublicKey(): PublicKey;
29
16
  sign(payload: CryptoPayload): Signature;
30
17
  decrypt(encryptedPayload: EncryptedPayload): Buffer;
@@ -1 +1 @@
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;AAOhC,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;AAGxC,qBAAa,UAAW,SAAQ,GAAG;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAK;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAK;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAM;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAM;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAe;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IAE7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAQ;IAE/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CACiD;IAEhF,OAAO,CAAC,MAAM,CAAC,cAAc;IAY7B,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAYxC,OAAO,CAAC,MAAM,CAAC,YAAY;IAU3B,OAAO,CAAC,MAAM,CAAC,aAAa;WAMd,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,UAAU;WAIpD,QAAQ,IAAI,UAAU;gBAIxB,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,cAAc;IAoEf,YAAY,IAAI,SAAS;IAIzB,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAUvC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;CAwC3D"}
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"}
@@ -5,36 +5,14 @@ const buffer_1 = require("buffer");
5
5
  const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
6
6
  const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
7
7
  const patterns_1 = require("../../patterns");
8
- const media_1 = require("../media");
9
8
  const NullObject_1 = require("../NullObject");
10
9
  const CryptoAdapter_1 = require("./CryptoAdapter");
11
10
  const Key_1 = require("./Key");
12
11
  const PublicKey_1 = require("./PublicKey");
13
12
  const Signature_1 = require("./Signature");
14
- const StrictBase64_1 = require("./StrictBase64");
15
13
  class PrivateKey extends Key_1.Key {
16
14
  static LENGTH = 119;
17
- static LEGACY_ENCRYPTED_PAYLOAD_PARTS = 4;
18
- static OWASP_ENCRYPTED_PAYLOAD_PARTS = 6;
19
- static EPHEMERAL_PUBLIC_KEY_LENGTH = 32;
20
- static IV_LENGTH = 12;
21
- static TAG_LENGTH = 16;
22
- static MAX_CIPHERTEXT_LENGTH = 1024 * 1024;
23
- static PAYLOAD_ALGORITHM = 'x25519-hkdf-sha256-aes-256-gcm';
24
- static PAYLOAD_VERSION = 'v2';
25
15
  static PATTERN = /^-----BEGIN PRIVATE KEY-----\n[A-Za-z0-9+/=]+\n-----END PRIVATE KEY-----\n$/;
26
- static ensureIsBase64(value, encryptedPayload, options) {
27
- StrictBase64_1.StrictBase64.ensure(value, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()), options);
28
- }
29
- static ensureBase64DecodedLength(value, encryptedPayload, length) {
30
- StrictBase64_1.StrictBase64.ensureDecodedLength(value, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()), length);
31
- }
32
- static decodeBase64(value, encryptedPayload) {
33
- return StrictBase64_1.StrictBase64.decode(value, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()));
34
- }
35
- static getPayloadAad() {
36
- return buffer_1.Buffer.from([PrivateKey.PAYLOAD_VERSION, PrivateKey.PAYLOAD_ALGORITHM].join('.'));
37
- }
38
16
  static fromPEM(pem) {
39
17
  return new PrivateKey(pem.valueOf());
40
18
  }
@@ -52,50 +30,26 @@ class PrivateKey extends Key_1.Key {
52
30
  (0, patterns_1.assert)(value.length === PrivateKey.LENGTH, new InvalidLengthError_1.InvalidLengthError(value, PrivateKey.LENGTH));
53
31
  (0, patterns_1.assert)(PrivateKey.PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(value));
54
32
  }
55
- decryptPayload(encryptedPayload, ephPubB64, ivB64, cipherTextB64, tagB64, options) {
56
- const cipherTextLength = StrictBase64_1.StrictBase64.getDecodedLength(cipherTextB64);
57
- (0, patterns_1.assert)(cipherTextLength <= PrivateKey.MAX_CIPHERTEXT_LENGTH, new InvalidLengthError_1.InvalidLengthError(cipherTextLength, PrivateKey.MAX_CIPHERTEXT_LENGTH));
58
- PrivateKey.ensureIsBase64(cipherTextB64, encryptedPayload, {
59
- allowEmpty: true,
60
- });
61
- PrivateKey.ensureBase64DecodedLength(ephPubB64, encryptedPayload, PrivateKey.EPHEMERAL_PUBLIC_KEY_LENGTH);
62
- PrivateKey.ensureBase64DecodedLength(ivB64, encryptedPayload, PrivateKey.IV_LENGTH);
63
- PrivateKey.ensureBase64DecodedLength(tagB64, encryptedPayload, PrivateKey.TAG_LENGTH);
64
- const ephemeralPub = PrivateKey.decodeBase64(ephPubB64, encryptedPayload);
65
- const iv = PrivateKey.decodeBase64(ivB64, encryptedPayload);
66
- const cipherText = StrictBase64_1.StrictBase64.decode(cipherTextB64, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()), { allowEmpty: true });
67
- const tag = PrivateKey.decodeBase64(tagB64, encryptedPayload);
68
- const x25519Priv = CryptoAdapter_1.CryptoAdapter.privateKeyToX25519(this.valueOf());
69
- const sharedSecret = CryptoAdapter_1.CryptoAdapter.x25519SharedSecret(x25519Priv, ephemeralPub);
70
- const aesKey = options.useHkdf
71
- ? CryptoAdapter_1.CryptoAdapter.deriveEncryptionKeyWithHkdf(sharedSecret, ephemeralPub, CryptoAdapter_1.CryptoAdapter.x25519PublicKey(x25519Priv))
72
- : CryptoAdapter_1.CryptoAdapter.deriveEncryptionKey(sharedSecret, ephemeralPub);
73
- return CryptoAdapter_1.CryptoAdapter.decryptAes256Gcm(aesKey, iv, cipherText, tag, options.aad);
74
- }
75
33
  getPublicKey() {
76
34
  return PublicKey_1.PublicKey.fromPEM(CryptoAdapter_1.CryptoAdapter.getPublicKey(this.valueOf()));
77
35
  }
78
36
  sign(payload) {
79
- const messageBuffer = payload instanceof media_1.Media
80
- ? payload.getBuffer()
81
- : buffer_1.Buffer.from(payload.valueOf());
37
+ const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
82
38
  const signatureBuffer = CryptoAdapter_1.CryptoAdapter.sign(messageBuffer, this.valueOf());
83
39
  return Signature_1.Signature.fromBuffer(signatureBuffer);
84
40
  }
85
41
  decrypt(encryptedPayload) {
86
- const parts = encryptedPayload.valueOf().split('.');
87
- if (parts.length === PrivateKey.LEGACY_ENCRYPTED_PAYLOAD_PARTS) {
88
- const [ephPubB64, ivB64, cipherTextB64, tagB64] = parts;
89
- return this.decryptPayload(encryptedPayload, ephPubB64, ivB64, cipherTextB64, tagB64, { useHkdf: false });
90
- }
91
- (0, patterns_1.assert)(parts.length === PrivateKey.OWASP_ENCRYPTED_PAYLOAD_PARTS, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()));
92
- const [version, algorithm, ephPubB64, ivB64, cipherTextB64, tagB64] = parts;
93
- (0, patterns_1.assert)(version === PrivateKey.PAYLOAD_VERSION &&
94
- algorithm === PrivateKey.PAYLOAD_ALGORITHM, new InvalidFormatError_1.InvalidFormatError(encryptedPayload.valueOf()));
95
- return this.decryptPayload(encryptedPayload, ephPubB64, ivB64, cipherTextB64, tagB64, {
96
- aad: PrivateKey.getPayloadAad(),
97
- useHkdf: true,
98
- });
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);
99
53
  }
100
54
  }
101
55
  exports.PrivateKey = PrivateKey;
@@ -1 +1 @@
1
- {"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"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"}
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,19 +1,15 @@
1
1
  import { StringValueObject } from '../StringValueObject';
2
- import { AsymmetricEncryptedPayload } from './AsymmetricEncryptedPayload';
3
2
  import { CryptoPayload } from './CryptoPayload';
3
+ import { EncryptedPayload } from './EncryptedPayload';
4
4
  import { Key } from './Key';
5
5
  import { Signature } from './Signature';
6
6
  export declare class PublicKey extends Key {
7
7
  private static readonly LENGTH;
8
- private static readonly MAX_PAYLOAD_LENGTH;
9
- private static readonly PAYLOAD_ALGORITHM;
10
- private static readonly PAYLOAD_VERSION;
11
8
  private static readonly PATTERN;
12
- private static getPayloadAad;
13
9
  static fromPEM(pem: string | StringValueObject): PublicKey;
14
10
  constructor(value: string | StringValueObject);
15
11
  private ensureIsValidPublicKey;
16
12
  isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
17
- encrypt(payload: CryptoPayload): AsymmetricEncryptedPayload;
13
+ encrypt(payload: CryptoPayload): EncryptedPayload;
18
14
  }
19
15
  //# sourceMappingURL=PublicKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,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,kBAAkB,CAAe;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IAE7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAQ;IAE/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAC+C;IAE9E,OAAO,CAAC,MAAM,CAAC,aAAa;WAMd,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;IAeH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,0BAA0B;CAgDnE"}
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"}
@@ -5,20 +5,13 @@ const buffer_1 = require("buffer");
5
5
  const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
6
6
  const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
7
7
  const patterns_1 = require("../../patterns");
8
- const media_1 = require("../media");
9
8
  const NullObject_1 = require("../NullObject");
10
- const AsymmetricEncryptedPayload_1 = require("./AsymmetricEncryptedPayload");
11
9
  const CryptoAdapter_1 = require("./CryptoAdapter");
10
+ const EncryptedPayload_1 = require("./EncryptedPayload");
12
11
  const Key_1 = require("./Key");
13
12
  class PublicKey extends Key_1.Key {
14
13
  static LENGTH = 113;
15
- static MAX_PAYLOAD_LENGTH = 1024 * 1024;
16
- static PAYLOAD_ALGORITHM = 'x25519-hkdf-sha256-aes-256-gcm';
17
- static PAYLOAD_VERSION = 'v2';
18
14
  static PATTERN = /^-----BEGIN PUBLIC KEY-----\n[A-Za-z0-9+/=]+\n-----END PUBLIC KEY-----\n$/;
19
- static getPayloadAad() {
20
- return buffer_1.Buffer.from([PublicKey.PAYLOAD_VERSION, PublicKey.PAYLOAD_ALGORITHM].join('.'));
21
- }
22
15
  static fromPEM(pem) {
23
16
  return new PublicKey(pem.valueOf());
24
17
  }
@@ -34,34 +27,27 @@ class PublicKey extends Key_1.Key {
34
27
  (0, patterns_1.assert)(PublicKey.PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(value));
35
28
  }
36
29
  isValidSignature(payload, signature) {
37
- const messageBuffer = payload instanceof media_1.Media
38
- ? payload.getBuffer()
39
- : buffer_1.Buffer.from(payload.valueOf());
30
+ const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
40
31
  const signatureBuffer = buffer_1.Buffer.from(signature.valueOf(), 'base64');
41
32
  const valid = CryptoAdapter_1.CryptoAdapter.verify(signatureBuffer, messageBuffer, this.valueOf());
42
33
  return valid;
43
34
  }
44
35
  encrypt(payload) {
45
- const messageBuffer = payload instanceof media_1.Media
46
- ? payload.getBuffer()
47
- : buffer_1.Buffer.from(payload.valueOf());
48
- (0, patterns_1.assert)(messageBuffer.length <= PublicKey.MAX_PAYLOAD_LENGTH, new InvalidLengthError_1.InvalidLengthError(messageBuffer.length, PublicKey.MAX_PAYLOAD_LENGTH));
36
+ const messageBuffer = buffer_1.Buffer.from(payload.valueOf());
49
37
  const x25519Pub = CryptoAdapter_1.CryptoAdapter.publicKeyToX25519(this.valueOf());
50
38
  const ephemeralPriv = CryptoAdapter_1.CryptoAdapter.x25519RandomPrivateKey();
51
39
  const ephemeralPub = CryptoAdapter_1.CryptoAdapter.x25519PublicKey(ephemeralPriv);
52
40
  const sharedSecret = CryptoAdapter_1.CryptoAdapter.x25519SharedSecret(ephemeralPriv, x25519Pub);
53
- const aesKey = CryptoAdapter_1.CryptoAdapter.deriveEncryptionKeyWithHkdf(sharedSecret, ephemeralPub, x25519Pub);
41
+ const aesKey = CryptoAdapter_1.CryptoAdapter.deriveEncryptionKey(sharedSecret, ephemeralPub);
54
42
  const iv = CryptoAdapter_1.CryptoAdapter.randomBytes(12);
55
- const { cipherText, tag } = CryptoAdapter_1.CryptoAdapter.encryptAes256Gcm(aesKey, iv, messageBuffer, PublicKey.getPayloadAad());
43
+ const { cipherText, tag } = CryptoAdapter_1.CryptoAdapter.encryptAes256Gcm(aesKey, iv, messageBuffer);
56
44
  const result = [
57
- PublicKey.PAYLOAD_VERSION,
58
- PublicKey.PAYLOAD_ALGORITHM,
59
45
  buffer_1.Buffer.from(ephemeralPub).toString('base64'),
60
46
  iv.toString('base64'),
61
47
  buffer_1.Buffer.from(cipherText).toString('base64'),
62
48
  buffer_1.Buffer.from(tag).toString('base64'),
63
49
  ].join('.');
64
- return new AsymmetricEncryptedPayload_1.AsymmetricEncryptedPayload(result);
50
+ return new EncryptedPayload_1.EncryptedPayload(result);
65
51
  }
66
52
  }
67
53
  exports.PublicKey = PublicKey;
@@ -1 +1 @@
1
- {"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"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"}
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,5 +1,5 @@
1
+ import { StringValueObject } from '../../StringValueObject';
1
2
  import { PrivateKey } from '../PrivateKey';
2
- import { CryptoPassword } from '../SymmetricKey';
3
3
  import { EncryptedPrivateKeyVersion } from './EncryptedPrivateKeyVersion';
4
4
  export declare class EncryptedPrivateKeyLegacy extends EncryptedPrivateKeyVersion {
5
5
  private static readonly LEGACY_ITERATIONS;
@@ -8,7 +8,7 @@ export declare class EncryptedPrivateKeyLegacy extends EncryptedPrivateKeyVersio
8
8
  private static readonly CIPHER;
9
9
  private static readonly EXPECTED_PARTS;
10
10
  matches(parts: string[]): boolean;
11
- decrypt(parts: string[], password: CryptoPassword): Promise<PrivateKey>;
11
+ decrypt(parts: string[], password: string | StringValueObject): Promise<PrivateKey>;
12
12
  needsReEncryption(): boolean;
13
13
  }
14
14
  //# sourceMappingURL=EncryptedPrivateKeyLegacy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedPrivateKeyLegacy.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,yBAA0B,SAAQ,0BAA0B;IACvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAEpC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAI3B,OAAO,CAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC;IAoBf,iBAAiB,IAAI,OAAO;CAGpC"}
1
+ {"version":3,"file":"EncryptedPrivateKeyLegacy.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,yBAA0B,SAAQ,0BAA0B;IACvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAEpC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAI3B,OAAO,CAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,UAAU,CAAC;IAoBf,iBAAiB,IAAI,OAAO;CAGpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedPrivateKeyLegacy.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,oDAAiD;AACjD,8CAA2C;AAE3C,yDAAsD;AACtD,6EAA0E;AAE1E,MAAa,yBAA0B,SAAQ,uDAA0B;IAC/D,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC;IAC3C,MAAM,CAAU,gBAAgB,GAAG,QAAQ,CAAC;IAC5C,MAAM,CAAU,UAAU,GAAG,EAAE,CAAC;IAChC,MAAM,CAAU,MAAM,GAAG,aAAa,CAAC;IACvC,MAAM,CAAU,cAAc,GAAG,CAAC,CAAC;IAEpC,OAAO,CAAC,KAAe;QAC5B,OAAO,KAAK,CAAC,MAAM,KAAK,yBAAyB,CAAC,cAAc,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,KAAe,EACf,QAAwB;QAExB,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QACtD,MAAM,UAAU,GAAG,eAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,MAAM,mCAAgB,CAAC,WAAW,CAC5C,QAAQ,CAAC,OAAO,EAAE,EAClB,IAAI,EACJ,yBAAyB,CAAC,iBAAiB,EAC3C,yBAAyB,CAAC,UAAU,EACpC,yBAAyB,CAAC,gBAAgB,CAC3C,CAAC;QAEF,MAAM,SAAS,GAAG,6BAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAE3E,OAAO,IAAI,uBAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;;AApCH,8DAqCC"}
1
+ {"version":3,"file":"EncryptedPrivateKeyLegacy.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAGhC,oDAAiD;AACjD,8CAA2C;AAC3C,yDAAsD;AACtD,6EAA0E;AAE1E,MAAa,yBAA0B,SAAQ,uDAA0B;IAC/D,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC;IAC3C,MAAM,CAAU,gBAAgB,GAAG,QAAQ,CAAC;IAC5C,MAAM,CAAU,UAAU,GAAG,EAAE,CAAC;IAChC,MAAM,CAAU,MAAM,GAAG,aAAa,CAAC;IACvC,MAAM,CAAU,cAAc,GAAG,CAAC,CAAC;IAEpC,OAAO,CAAC,KAAe;QAC5B,OAAO,KAAK,CAAC,MAAM,KAAK,yBAAyB,CAAC,cAAc,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,KAAe,EACf,QAAoC;QAEpC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QACtD,MAAM,UAAU,GAAG,eAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,MAAM,mCAAgB,CAAC,WAAW,CAC5C,QAAQ,CAAC,OAAO,EAAE,EAClB,IAAI,EACJ,yBAAyB,CAAC,iBAAiB,EAC3C,yBAAyB,CAAC,UAAU,EACpC,yBAAyB,CAAC,gBAAgB,CAC3C,CAAC;QAEF,MAAM,SAAS,GAAG,6BAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAE3E,OAAO,IAAI,uBAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;;AApCH,8DAqCC"}
@@ -1,5 +1,5 @@
1
+ import { StringValueObject } from '../../StringValueObject';
1
2
  import { PrivateKey } from '../PrivateKey';
2
- import { CryptoPassword } from '../SymmetricKey';
3
3
  import { EncryptedPrivateKeyVersion } from './EncryptedPrivateKeyVersion';
4
4
  export declare class EncryptedPrivateKeyV2 extends EncryptedPrivateKeyVersion {
5
5
  private static readonly VERSION;
@@ -8,15 +8,13 @@ export declare class EncryptedPrivateKeyV2 extends EncryptedPrivateKeyVersion {
8
8
  private static readonly SCRYPT_R;
9
9
  private static readonly SCRYPT_P;
10
10
  private static readonly SALT_ENTROPY;
11
+ private static readonly IV_ENTROPY;
12
+ private static readonly KEY_LENGTH;
11
13
  private static readonly CIPHER;
12
14
  private static readonly EXPECTED_PARTS;
13
- private static readonly SYMMETRIC_PAYLOAD_VERSION;
14
15
  private static hasSupportedScryptParameters;
15
- private static deriveSymmetricKey;
16
- private static toSymmetricPayload;
17
- static encrypt(privateKey: PrivateKey, password: CryptoPassword): Promise<string>;
16
+ static encrypt(privateKey: PrivateKey, password: string | StringValueObject): Promise<string>;
18
17
  matches(parts: string[]): boolean;
19
- decrypt(parts: string[], password: CryptoPassword): Promise<PrivateKey>;
20
- needsReEncryption(): boolean;
18
+ decrypt(parts: string[], password: string | StringValueObject): Promise<PrivateKey>;
21
19
  }
22
20
  //# sourceMappingURL=EncryptedPrivateKeyV2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedPrivateKeyV2.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAgB,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,qBAAsB,SAAQ,0BAA0B;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAQ;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAY;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAS;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAK;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAK;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAM;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IAEzD,OAAO,CAAC,MAAM,CAAC,4BAA4B;mBAQtB,kBAAkB;IAQvC,OAAO,CAAC,MAAM,CAAC,kBAAkB;WAkBb,OAAO,CACzB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC;IA8BX,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAS3B,OAAO,CAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC;IAyBf,iBAAiB,IAAI,OAAO;CAGpC"}
1
+ {"version":3,"file":"EncryptedPrivateKeyV2.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,qBAAsB,SAAQ,0BAA0B;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAQ;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAY;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAS;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAK;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAK;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAM;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAE3C,OAAO,CAAC,MAAM,CAAC,4BAA4B;WAQvB,OAAO,CACzB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;IAoCX,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAS3B,OAAO,CAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,UAAU,CAAC;CAwBvB"}