@nmshd/crypto 1.0.8 → 2.0.1

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 (113) hide show
  1. package/dist/CoreBuffer.d.ts +0 -1
  2. package/dist/CoreBuffer.js +1 -4
  3. package/dist/CoreBuffer.js.map +1 -1
  4. package/dist/CryptoDerivation.js +2 -2
  5. package/dist/CryptoDerivation.js.map +1 -1
  6. package/dist/CryptoPrivateKey.d.ts +14 -17
  7. package/dist/CryptoPrivateKey.js +24 -39
  8. package/dist/CryptoPrivateKey.js.map +1 -1
  9. package/dist/CryptoPublicKey.d.ts +13 -16
  10. package/dist/CryptoPublicKey.js +22 -37
  11. package/dist/CryptoPublicKey.js.map +1 -1
  12. package/dist/CryptoSerializable.d.ts +5 -0
  13. package/dist/CryptoSerializable.js +15 -0
  14. package/dist/CryptoSerializable.js.map +1 -0
  15. package/dist/CryptoValidation.d.ts +4 -6
  16. package/dist/CryptoValidation.js +16 -29
  17. package/dist/CryptoValidation.js.map +1 -1
  18. package/dist/SodiumWrapper.js +5 -1
  19. package/dist/SodiumWrapper.js.map +1 -1
  20. package/dist/buildInformation.js +5 -5
  21. package/dist/encryption/CryptoCipher.d.ts +10 -11
  22. package/dist/encryption/CryptoCipher.js +62 -59
  23. package/dist/encryption/CryptoCipher.js.map +1 -1
  24. package/dist/encryption/CryptoEncryption.js +10 -12
  25. package/dist/encryption/CryptoEncryption.js.map +1 -1
  26. package/dist/encryption/CryptoSecretKey.d.ts +8 -9
  27. package/dist/encryption/CryptoSecretKey.js +36 -32
  28. package/dist/encryption/CryptoSecretKey.js.map +1 -1
  29. package/dist/exchange/CryptoExchange.d.ts +0 -2
  30. package/dist/exchange/CryptoExchange.js +5 -22
  31. package/dist/exchange/CryptoExchange.js.map +1 -1
  32. package/dist/exchange/CryptoExchangeKeypair.d.ts +10 -11
  33. package/dist/exchange/CryptoExchangeKeypair.js +33 -30
  34. package/dist/exchange/CryptoExchangeKeypair.js.map +1 -1
  35. package/dist/exchange/CryptoExchangePrivateKey.d.ts +8 -10
  36. package/dist/exchange/CryptoExchangePrivateKey.js +50 -31
  37. package/dist/exchange/CryptoExchangePrivateKey.js.map +1 -1
  38. package/dist/exchange/CryptoExchangePublicKey.d.ts +6 -7
  39. package/dist/exchange/CryptoExchangePublicKey.js +31 -32
  40. package/dist/exchange/CryptoExchangePublicKey.js.map +1 -1
  41. package/dist/exchange/CryptoExchangeSecrets.d.ts +10 -11
  42. package/dist/exchange/CryptoExchangeSecrets.js +33 -35
  43. package/dist/exchange/CryptoExchangeSecrets.js.map +1 -1
  44. package/dist/exchange/CryptoExchangeValidation.d.ts +7 -10
  45. package/dist/exchange/CryptoExchangeValidation.js +9 -36
  46. package/dist/exchange/CryptoExchangeValidation.js.map +1 -1
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.js +6 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/relationship/CryptoRelationshipPublicRequest.d.ts +8 -9
  51. package/dist/relationship/CryptoRelationshipPublicRequest.js +23 -42
  52. package/dist/relationship/CryptoRelationshipPublicRequest.js.map +1 -1
  53. package/dist/relationship/CryptoRelationshipPublicResponse.d.ts +8 -9
  54. package/dist/relationship/CryptoRelationshipPublicResponse.js +24 -38
  55. package/dist/relationship/CryptoRelationshipPublicResponse.js.map +1 -1
  56. package/dist/relationship/CryptoRelationshipRequestSecrets.d.ts +6 -7
  57. package/dist/relationship/CryptoRelationshipRequestSecrets.js +7 -10
  58. package/dist/relationship/CryptoRelationshipRequestSecrets.js.map +1 -1
  59. package/dist/relationship/CryptoRelationshipSecrets.d.ts +6 -7
  60. package/dist/relationship/CryptoRelationshipSecrets.js +8 -11
  61. package/dist/relationship/CryptoRelationshipSecrets.js.map +1 -1
  62. package/dist/signature/CryptoSignature.d.ts +12 -13
  63. package/dist/signature/CryptoSignature.js +39 -35
  64. package/dist/signature/CryptoSignature.js.map +1 -1
  65. package/dist/signature/CryptoSignatureAlgorithm.d.ts +5 -0
  66. package/dist/signature/CryptoSignatureAlgorithm.js +3 -0
  67. package/dist/signature/CryptoSignatureAlgorithm.js.map +1 -0
  68. package/dist/signature/CryptoSignatureKeypair.d.ts +10 -11
  69. package/dist/signature/CryptoSignatureKeypair.js +36 -38
  70. package/dist/signature/CryptoSignatureKeypair.js.map +1 -1
  71. package/dist/signature/CryptoSignaturePrivateKey.d.ts +10 -13
  72. package/dist/signature/CryptoSignaturePrivateKey.js +28 -37
  73. package/dist/signature/CryptoSignaturePrivateKey.js.map +1 -1
  74. package/dist/signature/CryptoSignaturePublicKey.d.ts +9 -12
  75. package/dist/signature/CryptoSignaturePublicKey.js +22 -44
  76. package/dist/signature/CryptoSignaturePublicKey.js.map +1 -1
  77. package/dist/signature/CryptoSignatureValidation.d.ts +10 -12
  78. package/dist/signature/CryptoSignatureValidation.js +13 -35
  79. package/dist/signature/CryptoSignatureValidation.js.map +1 -1
  80. package/dist/signature/CryptoSignatures.d.ts +1 -5
  81. package/dist/signature/CryptoSignatures.js +5 -5
  82. package/dist/signature/CryptoSignatures.js.map +1 -1
  83. package/dist/state/CryptoPrivateState.d.ts +12 -20
  84. package/dist/state/CryptoPrivateState.js +73 -77
  85. package/dist/state/CryptoPrivateState.js.map +1 -1
  86. package/dist/state/CryptoPrivateStateReceive.d.ts +4 -6
  87. package/dist/state/CryptoPrivateStateReceive.js +27 -39
  88. package/dist/state/CryptoPrivateStateReceive.js.map +1 -1
  89. package/dist/state/CryptoPrivateStateTransmit.d.ts +3 -4
  90. package/dist/state/CryptoPrivateStateTransmit.js +14 -40
  91. package/dist/state/CryptoPrivateStateTransmit.js.map +1 -1
  92. package/dist/state/CryptoPublicState.d.ts +11 -16
  93. package/dist/state/CryptoPublicState.js +44 -53
  94. package/dist/state/CryptoPublicState.js.map +1 -1
  95. package/dist/stream/CryptoStream.js +5 -2
  96. package/dist/stream/CryptoStream.js.map +1 -1
  97. package/dist/stream/CryptoStreamAddress.d.ts +7 -10
  98. package/dist/stream/CryptoStreamAddress.js +13 -29
  99. package/dist/stream/CryptoStreamAddress.js.map +1 -1
  100. package/dist/stream/CryptoStreamHeader.d.ts +9 -12
  101. package/dist/stream/CryptoStreamHeader.js +15 -18
  102. package/dist/stream/CryptoStreamHeader.js.map +1 -1
  103. package/dist/stream/CryptoStreamState.d.ts +6 -10
  104. package/dist/stream/CryptoStreamState.js +15 -33
  105. package/dist/stream/CryptoStreamState.js.map +1 -1
  106. package/lib-web/nmshd.crypto.js +795 -1023
  107. package/lib-web/nmshd.crypto.js.map +1 -1
  108. package/lib-web/nmshd.crypto.min.js +1 -1
  109. package/lib-web/nmshd.crypto.min.js.map +1 -1
  110. package/package.json +18 -18
  111. package/dist/CryptoSerializableAsync.d.ts +0 -5
  112. package/dist/CryptoSerializableAsync.js +0 -24
  113. package/dist/CryptoSerializableAsync.js.map +0 -1
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildInformation = void 0;
4
4
  const ts_serval_1 = require("@js-soft/ts-serval");
5
5
  exports.buildInformation = {
6
- version: "1.0.8",
7
- build: "10",
8
- date: "2022-01-24T16:59:04+00:00",
9
- commit: "bc03eafc9935d98a4be1b59707d5162852e53a48",
10
- dependencies: {"libsodium-wrappers-sumo":"0.7.9","uuid":"8.3.2"},
6
+ version: "2.0.1",
7
+ build: "13",
8
+ date: "2022-04-21T14:23:06+00:00",
9
+ commit: "dcef03f22ff721191e22ded7e50b1560f88387ee",
10
+ dependencies: {"libsodium-wrappers-sumo":"0.7.10","uuid":"8.3.2"},
11
11
  libraries: {
12
12
  serval: ts_serval_1.buildInformation
13
13
  }
@@ -1,6 +1,6 @@
1
1
  import { ISerializable, ISerialized } from "@js-soft/ts-serval";
2
2
  import { CoreBuffer, IClearable, ICoreBuffer } from "../CoreBuffer";
3
- import { CryptoSerializableAsync } from "../CryptoSerializableAsync";
3
+ import { CryptoSerializable } from "../CryptoSerializable";
4
4
  import { CryptoEncryptionAlgorithm } from "./CryptoEncryption";
5
5
  export interface ICryptoCipherSerialized extends ISerialized {
6
6
  alg: number;
@@ -14,18 +14,17 @@ export interface ICryptoCipher extends ISerializable {
14
14
  counter?: number;
15
15
  nonce?: ICoreBuffer;
16
16
  }
17
- export declare class CryptoCipher extends CryptoSerializableAsync implements ICryptoCipher, IClearable {
17
+ export declare class CryptoCipher extends CryptoSerializable implements ICryptoCipher, IClearable {
18
18
  static MIN_CIPHER_BYTES: number;
19
19
  static MAX_CIPHER_BYTES: number;
20
- readonly algorithm: CryptoEncryptionAlgorithm;
21
- readonly cipher: CoreBuffer;
22
- readonly counter?: number;
23
- readonly nonce?: CoreBuffer;
24
- constructor(cipher: CoreBuffer, algorithm: CryptoEncryptionAlgorithm, nonce?: CoreBuffer, counter?: number);
20
+ algorithm: CryptoEncryptionAlgorithm;
21
+ cipher: CoreBuffer;
22
+ counter?: number;
23
+ nonce?: CoreBuffer;
25
24
  toJSON(verbose?: boolean): ICryptoCipherSerialized;
26
25
  clear(): void;
27
- static from(value: CryptoCipher | ICryptoCipher): Promise<CryptoCipher>;
28
- static fromJSON(value: ICryptoCipherSerialized): Promise<CryptoCipher>;
29
- static fromBase64(value: string): Promise<CryptoCipher>;
30
- static deserialize(value: string): Promise<CryptoCipher>;
26
+ static from(value: CryptoCipher | ICryptoCipher): CryptoCipher;
27
+ protected static preFrom(value: any): any;
28
+ static fromJSON(value: ICryptoCipherSerialized): CryptoCipher;
29
+ static fromBase64(value: string): CryptoCipher;
31
30
  }
@@ -15,84 +15,87 @@ const ts_serval_1 = require("@js-soft/ts-serval");
15
15
  const CoreBuffer_1 = require("../CoreBuffer");
16
16
  const CryptoError_1 = require("../CryptoError");
17
17
  const CryptoErrorCode_1 = require("../CryptoErrorCode");
18
- const CryptoSerializableAsync_1 = require("../CryptoSerializableAsync");
18
+ const CryptoSerializable_1 = require("../CryptoSerializable");
19
19
  const CryptoValidation_1 = require("../CryptoValidation");
20
- let CryptoCipher = CryptoCipher_1 = class CryptoCipher extends CryptoSerializableAsync_1.CryptoSerializableAsync {
21
- constructor(cipher, algorithm, nonce, counter) {
22
- if (!nonce && typeof counter === "undefined") {
23
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionNoNonceNorCounter, "No nonce nor counter property set.");
24
- }
25
- if (nonce && typeof counter !== "undefined") {
26
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionNonceAndCounter, "Nonce and counter properties are set.");
27
- }
28
- CryptoValidation_1.CryptoValidation.checkBuffer(cipher, CryptoCipher_1.MIN_CIPHER_BYTES, CryptoCipher_1.MAX_CIPHER_BYTES, "cipher");
29
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(algorithm);
30
- if (typeof counter !== "undefined") {
31
- CryptoValidation_1.CryptoValidation.checkCounter(counter);
32
- }
33
- if (typeof nonce !== "undefined") {
34
- CryptoValidation_1.CryptoValidation.checkNonceForAlgorithm(nonce, algorithm);
35
- }
36
- super();
37
- this.cipher = cipher;
38
- this.nonce = nonce;
39
- this.counter = counter;
40
- this.algorithm = algorithm;
41
- }
20
+ let CryptoCipher = CryptoCipher_1 = class CryptoCipher extends CryptoSerializable_1.CryptoSerializable {
42
21
  toJSON(verbose = true) {
43
- const obj = {
22
+ return {
44
23
  cph: this.cipher.toBase64URL(),
45
- alg: this.algorithm
24
+ alg: this.algorithm,
25
+ nnc: this.nonce ? this.nonce.toBase64URL() : undefined,
26
+ cnt: this.counter,
27
+ "@type": verbose ? "CryptoCipher" : undefined
46
28
  };
47
- if (this.nonce) {
48
- obj.nnc = this.nonce.toBase64URL();
49
- }
50
- if (typeof this.counter !== "undefined") {
51
- obj.cnt = this.counter;
52
- }
53
- if (verbose) {
54
- obj["@type"] = "CryptoCipher";
55
- }
56
- return obj;
57
29
  }
58
30
  clear() {
31
+ var _a;
59
32
  this.cipher.clear();
60
- if (this.nonce)
61
- this.nonce.clear();
33
+ (_a = this.nonce) === null || _a === void 0 ? void 0 : _a.clear();
62
34
  }
63
35
  static from(value) {
64
- return Promise.resolve(new CryptoCipher_1(CoreBuffer_1.CoreBuffer.from(value.cipher), value.algorithm, CoreBuffer_1.CoreBuffer.from(value.nonce), value.counter));
36
+ return this.fromAny(value);
65
37
  }
66
- static fromJSON(value) {
67
- CryptoValidation_1.CryptoValidation.checkObject(value);
68
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.alg);
69
- let nonceBuffer;
70
- let counter;
71
- if (typeof value.nnc !== "undefined") {
72
- CryptoValidation_1.CryptoValidation.checkSerializedBuffer(value.nnc, 12, 32, "nonce");
73
- nonceBuffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.nnc);
38
+ static preFrom(value) {
39
+ if (value.cph) {
40
+ value = {
41
+ cipher: value.cph,
42
+ algorithm: value.alg,
43
+ nonce: value.nnc,
44
+ counter: value.cnt
45
+ };
46
+ }
47
+ if (!value.nonce && typeof value.counter === "undefined") {
48
+ throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionNoNonceNorCounter, "No nonce nor counter property set.");
49
+ }
50
+ if (value.nonce && typeof value.counter !== "undefined") {
51
+ throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionNonceAndCounter, "Nonce and counter properties are set.");
74
52
  }
75
- if (typeof value.cnt !== "undefined") {
76
- CryptoValidation_1.CryptoValidation.checkCounter(value.cnt);
77
- counter = value.cnt;
53
+ if (typeof value.cipher === "string") {
54
+ CryptoValidation_1.CryptoValidation.checkSerializedBuffer(value.cipher, this.MIN_CIPHER_BYTES, this.MAX_CIPHER_BYTES, "cipher");
78
55
  }
79
- CryptoValidation_1.CryptoValidation.checkSerializedBuffer(value.cph, this.MIN_CIPHER_BYTES, this.MAX_CIPHER_BYTES, "cipher");
80
- const cipherBuffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.cph);
81
- return Promise.resolve(new CryptoCipher_1(cipherBuffer, value.alg, nonceBuffer, counter));
56
+ else {
57
+ CryptoValidation_1.CryptoValidation.checkBuffer(value.cipher, CryptoCipher_1.MIN_CIPHER_BYTES, CryptoCipher_1.MAX_CIPHER_BYTES, "cipher");
58
+ }
59
+ CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.algorithm);
60
+ if (value.counter) {
61
+ CryptoValidation_1.CryptoValidation.checkCounter(value.counter);
62
+ }
63
+ if (value.nonce) {
64
+ CryptoValidation_1.CryptoValidation.checkNonce(value.nonce, value.algorithm);
65
+ }
66
+ return value;
82
67
  }
83
- static async fromBase64(value) {
84
- return await this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
68
+ static fromJSON(value) {
69
+ return this.fromAny(value);
85
70
  }
86
- static async deserialize(value) {
87
- const obj = JSON.parse(value);
88
- return await this.fromJSON(obj);
71
+ static fromBase64(value) {
72
+ return this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
89
73
  }
90
74
  };
91
75
  CryptoCipher.MIN_CIPHER_BYTES = 2;
92
76
  CryptoCipher.MAX_CIPHER_BYTES = 100 * 1024 * 1024;
77
+ __decorate([
78
+ (0, ts_serval_1.validate)(),
79
+ (0, ts_serval_1.serialize)(),
80
+ __metadata("design:type", Number)
81
+ ], CryptoCipher.prototype, "algorithm", void 0);
82
+ __decorate([
83
+ (0, ts_serval_1.validate)(),
84
+ (0, ts_serval_1.serialize)(),
85
+ __metadata("design:type", CoreBuffer_1.CoreBuffer)
86
+ ], CryptoCipher.prototype, "cipher", void 0);
87
+ __decorate([
88
+ (0, ts_serval_1.validate)({ nullable: true }),
89
+ (0, ts_serval_1.serialize)(),
90
+ __metadata("design:type", Number)
91
+ ], CryptoCipher.prototype, "counter", void 0);
92
+ __decorate([
93
+ (0, ts_serval_1.validate)({ nullable: true }),
94
+ (0, ts_serval_1.serialize)(),
95
+ __metadata("design:type", CoreBuffer_1.CoreBuffer)
96
+ ], CryptoCipher.prototype, "nonce", void 0);
93
97
  CryptoCipher = CryptoCipher_1 = __decorate([
94
- (0, ts_serval_1.type)("CryptoCipher"),
95
- __metadata("design:paramtypes", [CoreBuffer_1.CoreBuffer, Number, CoreBuffer_1.CoreBuffer, Number])
98
+ (0, ts_serval_1.type)("CryptoCipher")
96
99
  ], CryptoCipher);
97
100
  exports.CryptoCipher = CryptoCipher;
98
101
  //# sourceMappingURL=CryptoCipher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoCipher.js","sourceRoot":"","sources":["../../src/encryption/CryptoCipher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoCipher.js","sourceRoot":"","sources":["../../src/encryption/CryptoCipher.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,7 @@ class CryptoEncryption {
24
24
  default:
25
25
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
26
26
  }
27
- const secretKey = new CryptoSecretKey_1.CryptoSecretKey(buffer, algorithm);
28
- return secretKey;
27
+ return CryptoSecretKey_1.CryptoSecretKey.from({ secretKey: buffer, algorithm });
29
28
  }
30
29
  /**
31
30
  * Encrypts a given plaintext [[CoreBuffer]] object with the given secretKey. If a nonce is set,
@@ -38,11 +37,9 @@ class CryptoEncryption {
38
37
  * @param algorithm
39
38
  */
40
39
  static async encrypt(plaintext, secretKey, nonce, algorithm = 3 /* XCHACHA20_POLY1305 */) {
41
- CryptoValidation_1.CryptoValidation.checkPlaintext(plaintext);
42
40
  let correctAlgorithm;
43
41
  let secretKeyBuffer;
44
42
  if (secretKey instanceof CryptoSecretKey_1.CryptoSecretKey) {
45
- CryptoValidation_1.CryptoValidation.checkSecretKey(secretKey);
46
43
  correctAlgorithm = secretKey.algorithm;
47
44
  secretKeyBuffer = secretKey.secretKey.buffer;
48
45
  }
@@ -64,26 +61,29 @@ class CryptoEncryption {
64
61
  else {
65
62
  publicnonce = sodium.randombytes_buf(24);
66
63
  }
67
- let cipherbuffer;
64
+ let cipher;
68
65
  switch (correctAlgorithm) {
69
66
  case 3 /* XCHACHA20_POLY1305 */:
70
67
  try {
71
- const cipher = sodium.crypto_aead_xchacha20poly1305_ietf_encrypt(plaintext.buffer, "", new Uint8Array(), publicnonce, secretKeyBuffer);
72
- cipherbuffer = new CoreBuffer_1.CoreBuffer(cipher);
73
- return new CryptoCipher_1.CryptoCipher(cipherbuffer, correctAlgorithm, new CoreBuffer_1.CoreBuffer(publicnonce));
68
+ cipher = sodium.crypto_aead_xchacha20poly1305_ietf_encrypt(plaintext.buffer, "", new Uint8Array(), publicnonce, secretKeyBuffer);
74
69
  }
75
70
  catch (e) {
76
71
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionEncrypt, `${e}`);
77
72
  }
73
+ break;
78
74
  default:
79
75
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
80
76
  }
77
+ return CryptoCipher_1.CryptoCipher.from({
78
+ cipher: CoreBuffer_1.CoreBuffer.from(cipher),
79
+ algorithm: correctAlgorithm,
80
+ nonce: CoreBuffer_1.CoreBuffer.from(publicnonce)
81
+ });
81
82
  }
82
83
  static async encryptWithCounter(plaintext, secretKey, nonce, counter, algorithm = 3 /* XCHACHA20_POLY1305 */) {
83
84
  let correctAlgorithm;
84
85
  let secretKeyBuffer;
85
86
  if (secretKey instanceof CryptoSecretKey_1.CryptoSecretKey) {
86
- CryptoValidation_1.CryptoValidation.checkSecretKey(secretKey);
87
87
  correctAlgorithm = secretKey.algorithm;
88
88
  secretKeyBuffer = secretKey.secretKey.buffer;
89
89
  }
@@ -104,7 +104,7 @@ class CryptoEncryption {
104
104
  try {
105
105
  const cipher = (await SodiumWrapper_1.SodiumWrapper.ready()).crypto_aead_xchacha20poly1305_ietf_encrypt(plaintext.buffer, "", new Uint8Array(), publicnonce.buffer, secretKeyBuffer);
106
106
  cipherbuffer = new CoreBuffer_1.CoreBuffer(cipher);
107
- return new CryptoCipher_1.CryptoCipher(cipherbuffer, algorithm, undefined, counter);
107
+ return CryptoCipher_1.CryptoCipher.from({ cipher: cipherbuffer, algorithm, counter });
108
108
  }
109
109
  catch (e) {
110
110
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionEncrypt, `${e}`);
@@ -114,11 +114,9 @@ class CryptoEncryption {
114
114
  }
115
115
  }
116
116
  static async decrypt(cipher, secretKey, nonce, algorithm = 3 /* XCHACHA20_POLY1305 */) {
117
- CryptoValidation_1.CryptoValidation.checkCipher(cipher);
118
117
  let correctAlgorithm;
119
118
  let secretKeyBuffer;
120
119
  if (secretKey instanceof CryptoSecretKey_1.CryptoSecretKey) {
121
- CryptoValidation_1.CryptoValidation.checkSecretKey(secretKey);
122
120
  correctAlgorithm = secretKey.algorithm;
123
121
  secretKeyBuffer = secretKey.secretKey.buffer;
124
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoEncryption.js","sourceRoot":"","sources":["../../src/encryption/CryptoEncryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoEncryption.js","sourceRoot":"","sources":["../../src/encryption/CryptoEncryption.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ISerializable, ISerialized } from "@js-soft/ts-serval";
2
2
  import { CoreBuffer, IClearable, ICoreBuffer } from "../CoreBuffer";
3
- import { CryptoSerializableAsync } from "../CryptoSerializableAsync";
3
+ import { CryptoSerializable } from "../CryptoSerializable";
4
4
  import { CryptoEncryptionAlgorithm } from "./CryptoEncryption";
5
5
  export interface ICryptoSecretKeySerialized extends ISerialized {
6
6
  alg: number;
@@ -10,14 +10,13 @@ export interface ICryptoSecretKey extends ISerializable {
10
10
  algorithm: CryptoEncryptionAlgorithm;
11
11
  secretKey: ICoreBuffer;
12
12
  }
13
- export declare class CryptoSecretKey extends CryptoSerializableAsync implements ICryptoSecretKey, IClearable {
14
- readonly algorithm: CryptoEncryptionAlgorithm;
15
- readonly secretKey: CoreBuffer;
16
- constructor(secretKey: CoreBuffer, algorithm?: CryptoEncryptionAlgorithm);
13
+ export declare class CryptoSecretKey extends CryptoSerializable implements ICryptoSecretKey, IClearable {
14
+ algorithm: CryptoEncryptionAlgorithm;
15
+ secretKey: CoreBuffer;
17
16
  toJSON(verbose?: boolean): ICryptoSecretKeySerialized;
18
17
  clear(): void;
19
- static from(value: CryptoSecretKey | ICryptoSecretKey): Promise<CryptoSecretKey>;
20
- static fromJSON(value: ICryptoSecretKeySerialized): Promise<CryptoSecretKey>;
21
- static fromBase64(value: string): Promise<CryptoSecretKey>;
22
- static deserialize(value: string): Promise<CryptoSecretKey>;
18
+ static from(value: CryptoSecretKey | ICryptoSecretKey): CryptoSecretKey;
19
+ protected static preFrom(value: any): any;
20
+ static fromJSON(value: ICryptoSecretKeySerialized): CryptoSecretKey;
21
+ static fromBase64(value: string): CryptoSecretKey;
23
22
  }
@@ -8,57 +8,61 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var CryptoSecretKey_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
12
  exports.CryptoSecretKey = void 0;
14
13
  const ts_serval_1 = require("@js-soft/ts-serval");
15
14
  const CoreBuffer_1 = require("../CoreBuffer");
16
- const CryptoSerializableAsync_1 = require("../CryptoSerializableAsync");
15
+ const CryptoSerializable_1 = require("../CryptoSerializable");
17
16
  const CryptoValidation_1 = require("../CryptoValidation");
18
- let CryptoSecretKey = CryptoSecretKey_1 = class CryptoSecretKey extends CryptoSerializableAsync_1.CryptoSerializableAsync {
19
- constructor(secretKey, algorithm = 3 /* XCHACHA20_POLY1305 */) {
20
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(algorithm);
21
- CryptoValidation_1.CryptoValidation.checkSecretKeyForAlgorithm(secretKey, algorithm);
22
- super();
23
- this.algorithm = algorithm;
24
- this.secretKey = secretKey;
25
- }
17
+ let CryptoSecretKey = class CryptoSecretKey extends CryptoSerializable_1.CryptoSerializable {
26
18
  toJSON(verbose = true) {
27
- const obj = {
19
+ return {
28
20
  key: this.secretKey.toBase64URL(),
29
- alg: this.algorithm
21
+ alg: this.algorithm,
22
+ "@type": verbose ? "CryptoSecretKey" : undefined
30
23
  };
31
- if (verbose) {
32
- obj["@type"] = "CryptoSecretKey";
33
- }
34
- return obj;
35
24
  }
36
25
  clear() {
37
26
  this.secretKey.clear();
38
27
  }
39
28
  static from(value) {
40
- return Promise.resolve(new CryptoSecretKey_1(CoreBuffer_1.CoreBuffer.from(value.secretKey), value.algorithm));
29
+ return this.fromAny(value);
41
30
  }
42
- static async fromJSON(value) {
43
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.alg);
44
- CryptoValidation_1.CryptoValidation.checkSerializedSecretKeyForAlgorithm(value.key, value.alg);
45
- const buffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.key);
46
- return await this.from({
47
- algorithm: value.alg,
48
- secretKey: buffer
49
- });
31
+ static preFrom(value) {
32
+ if (value.alg) {
33
+ value = {
34
+ algorithm: value.alg,
35
+ secretKey: value.key
36
+ };
37
+ }
38
+ CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.algorithm);
39
+ if (typeof value.secretKey === "string") {
40
+ CryptoValidation_1.CryptoValidation.checkSerializedSecretKeyForAlgorithm(value.secretKey, value.algorithm);
41
+ }
42
+ else {
43
+ CryptoValidation_1.CryptoValidation.checkSecretKeyForAlgorithm(value.secretKey, value.algorithm);
44
+ }
45
+ return value;
46
+ }
47
+ static fromJSON(value) {
48
+ return this.fromAny(value);
50
49
  }
51
50
  static fromBase64(value) {
52
51
  return this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
53
52
  }
54
- static async deserialize(value) {
55
- const obj = JSON.parse(value);
56
- return await this.fromJSON(obj);
57
- }
58
53
  };
59
- CryptoSecretKey = CryptoSecretKey_1 = __decorate([
60
- (0, ts_serval_1.type)("CryptoSecretKey"),
61
- __metadata("design:paramtypes", [CoreBuffer_1.CoreBuffer, Number])
54
+ __decorate([
55
+ (0, ts_serval_1.validate)(),
56
+ (0, ts_serval_1.serialize)(),
57
+ __metadata("design:type", Number)
58
+ ], CryptoSecretKey.prototype, "algorithm", void 0);
59
+ __decorate([
60
+ (0, ts_serval_1.validate)(),
61
+ (0, ts_serval_1.serialize)(),
62
+ __metadata("design:type", CoreBuffer_1.CoreBuffer)
63
+ ], CryptoSecretKey.prototype, "secretKey", void 0);
64
+ CryptoSecretKey = __decorate([
65
+ (0, ts_serval_1.type)("CryptoSecretKey")
62
66
  ], CryptoSecretKey);
63
67
  exports.CryptoSecretKey = CryptoSecretKey;
64
68
  //# sourceMappingURL=CryptoSecretKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoSecretKey.js","sourceRoot":"","sources":["../../src/encryption/CryptoSecretKey.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAAsE;AACtE,8CAAoE;AACpE,wEAAqE;AACrE,0DAAuD;AAcvD,IAAa,eAAe,uBAA5B,MAAa,eAAgB,SAAQ,iDAAuB;IAIxD,YACI,SAAqB,EACrB,sCAAmF;QAEnF,mCAAgB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACrD,mCAAgB,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAElE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,OAAO,GAAG,IAAI;QACxB,MAAM,GAAG,GAA+B;YACpC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACjC,GAAG,EAAE,IAAI,CAAC,SAAS;SACtB,CAAC;QACF,IAAI,OAAO,EAAE;YACT,GAAG,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC;SACpC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAyC;QACxD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,iBAAe,CAAC,uBAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACnG,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAiC;QAC1D,mCAAgB,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,mCAAgB,CAAC,oCAAoC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAgC,CAAC,CAAC;QAEzG,MAAM,MAAM,GAAG,uBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,KAAK,CAAC,GAAgC;YACjD,SAAS,EAAE,MAAM;SACpB,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAa;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;CACJ,CAAA;AAvDY,eAAe;IAD3B,IAAA,gBAAI,EAAC,iBAAiB,CAAC;qCAML,uBAAU;GALhB,eAAe,CAuD3B;AAvDY,0CAAe"}
1
+ {"version":3,"file":"CryptoSecretKey.js","sourceRoot":"","sources":["../../src/encryption/CryptoSecretKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2F;AAC3F,8CAAoE;AACpE,8DAA2D;AAC3D,0DAAuD;AAcvD,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,uCAAkB;IAQnC,MAAM,CAAC,OAAO,GAAG,IAAI;QACjC,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACjC,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;SACnD,CAAC;IACN,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAyC;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,MAAM,CAAU,OAAO,CAAC,KAAU;QACxC,IAAI,KAAK,CAAC,GAAG,EAAE;YACX,KAAK,GAAG;gBACJ,SAAS,EAAE,KAAK,CAAC,GAAG;gBACpB,SAAS,EAAE,KAAK,CAAC,GAAG;aACvB,CAAC;SACL;QAED,mCAAgB,CAAC,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE3D,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE;YACrC,mCAAgB,CAAC,oCAAoC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;aAAM;YACH,mCAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACjF;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAiC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;CACJ,CAAA;AA/CG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;kDACgC;AAG5C;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACM,uBAAU;kDAAC;AANpB,eAAe;IAD3B,IAAA,gBAAI,EAAC,iBAAiB,CAAC;GACX,eAAe,CAkD3B;AAlDY,0CAAe"}
@@ -1,6 +1,5 @@
1
1
  import { CryptoEncryptionAlgorithm } from "../encryption/CryptoEncryption";
2
2
  import { CryptoExchangeKeypair } from "./CryptoExchangeKeypair";
3
- import { CryptoExchangePrivateKey } from "./CryptoExchangePrivateKey";
4
3
  import { CryptoExchangePublicKey } from "./CryptoExchangePublicKey";
5
4
  import { CryptoExchangeSecrets } from "./CryptoExchangeSecrets";
6
5
  export declare const enum CryptoExchangeAlgorithm {
@@ -9,7 +8,6 @@ export declare const enum CryptoExchangeAlgorithm {
9
8
  ECDH_X25519 = 3
10
9
  }
11
10
  export declare class CryptoExchange {
12
- static privateKeyToPublicKey(privateKey: CryptoExchangePrivateKey): Promise<CryptoExchangePublicKey>;
13
11
  /**
14
12
  * Generates a keypair for the specified key exchange algorithm
15
13
  *
@@ -10,23 +10,6 @@ const CryptoExchangePrivateKey_1 = require("./CryptoExchangePrivateKey");
10
10
  const CryptoExchangePublicKey_1 = require("./CryptoExchangePublicKey");
11
11
  const CryptoExchangeSecrets_1 = require("./CryptoExchangeSecrets");
12
12
  class CryptoExchange {
13
- static async privateKeyToPublicKey(privateKey) {
14
- switch (privateKey.algorithm) {
15
- case 3 /* ECDH_X25519 */:
16
- try {
17
- const publicKey = (await SodiumWrapper_1.SodiumWrapper.ready()).crypto_scalarmult_base(privateKey.privateKey.buffer);
18
- return await CryptoExchangePublicKey_1.CryptoExchangePublicKey.from({
19
- algorithm: privateKey.algorithm,
20
- publicKey: CoreBuffer_1.CoreBuffer.from(publicKey)
21
- });
22
- }
23
- catch (e) {
24
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.ExchangeKeyGeneration, `${e}`);
25
- }
26
- default:
27
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
28
- }
29
- }
30
13
  /**
31
14
  * Generates a keypair for the specified key exchange algorithm
32
15
  *
@@ -51,9 +34,9 @@ class CryptoExchange {
51
34
  default:
52
35
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
53
36
  }
54
- const privateKey = new CryptoExchangePrivateKey_1.CryptoExchangePrivateKey(algorithm, new CoreBuffer_1.CoreBuffer(privateKeyBuffer));
55
- const publicKey = new CryptoExchangePublicKey_1.CryptoExchangePublicKey(algorithm, new CoreBuffer_1.CoreBuffer(publicKeyBuffer));
56
- const keypair = new CryptoExchangeKeypair_1.CryptoExchangeKeypair(publicKey, privateKey);
37
+ const privateKey = CryptoExchangePrivateKey_1.CryptoExchangePrivateKey.from({ algorithm, privateKey: CoreBuffer_1.CoreBuffer.from(privateKeyBuffer) });
38
+ const publicKey = CryptoExchangePublicKey_1.CryptoExchangePublicKey.from({ algorithm, publicKey: CoreBuffer_1.CoreBuffer.from(publicKeyBuffer) });
39
+ const keypair = CryptoExchangeKeypair_1.CryptoExchangeKeypair.from({ publicKey, privateKey });
57
40
  return keypair;
58
41
  }
59
42
  /**
@@ -80,7 +63,7 @@ class CryptoExchange {
80
63
  catch (e) {
81
64
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.ExchangeKeyDerivation, `${e}`);
82
65
  }
83
- const secrets = await CryptoExchangeSecrets_1.CryptoExchangeSecrets.from({
66
+ const secrets = CryptoExchangeSecrets_1.CryptoExchangeSecrets.from({
84
67
  receivingKey: CoreBuffer_1.CoreBuffer.from(sharedKey.sharedRx),
85
68
  transmissionKey: CoreBuffer_1.CoreBuffer.from(sharedKey.sharedTx),
86
69
  algorithm: algorithm
@@ -111,7 +94,7 @@ class CryptoExchange {
111
94
  catch (e) {
112
95
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.ExchangeKeyDerivation, `${e}`);
113
96
  }
114
- const secrets = await CryptoExchangeSecrets_1.CryptoExchangeSecrets.from({
97
+ const secrets = CryptoExchangeSecrets_1.CryptoExchangeSecrets.from({
115
98
  receivingKey: CoreBuffer_1.CoreBuffer.from(sharedKey.sharedRx),
116
99
  transmissionKey: CoreBuffer_1.CoreBuffer.from(sharedKey.sharedTx),
117
100
  algorithm: algorithm
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoExchange.js","sourceRoot":"","sources":["../../src/exchange/CryptoExchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoExchange.js","sourceRoot":"","sources":["../../src/exchange/CryptoExchange.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,23 @@
1
- import { ISerializableAsync, ISerialized } from "@js-soft/ts-serval";
1
+ import { ISerializable, ISerialized } from "@js-soft/ts-serval";
2
2
  import { IClearable } from "../CoreBuffer";
3
- import { CryptoSerializableAsync } from "../CryptoSerializableAsync";
3
+ import { CryptoSerializable } from "../CryptoSerializable";
4
4
  import { CryptoExchangePrivateKey, ICryptoExchangePrivateKey, ICryptoExchangePrivateKeySerialized } from "./CryptoExchangePrivateKey";
5
5
  import { CryptoExchangePublicKey, ICryptoExchangePublicKey, ICryptoExchangePublicKeySerialized } from "./CryptoExchangePublicKey";
6
6
  export interface ICryptoExchangeKeypairSerialized extends ISerialized {
7
7
  pub: ICryptoExchangePublicKeySerialized;
8
8
  prv: ICryptoExchangePrivateKeySerialized;
9
9
  }
10
- export interface ICryptoExchangeKeypair extends ISerializableAsync {
10
+ export interface ICryptoExchangeKeypair extends ISerializable {
11
11
  publicKey: ICryptoExchangePublicKey;
12
12
  privateKey: ICryptoExchangePrivateKey;
13
13
  }
14
- export declare class CryptoExchangeKeypair extends CryptoSerializableAsync implements ICryptoExchangeKeypair, IClearable {
15
- readonly publicKey: CryptoExchangePublicKey;
16
- readonly privateKey: CryptoExchangePrivateKey;
17
- constructor(publicKey: CryptoExchangePublicKey, privateKey: CryptoExchangePrivateKey);
14
+ export declare class CryptoExchangeKeypair extends CryptoSerializable implements ICryptoExchangeKeypair, IClearable {
15
+ publicKey: CryptoExchangePublicKey;
16
+ privateKey: CryptoExchangePrivateKey;
18
17
  toJSON(verbose?: boolean): ICryptoExchangeKeypairSerialized;
19
18
  clear(): void;
20
- static from(value: CryptoExchangeKeypair | ICryptoExchangeKeypair): Promise<CryptoExchangeKeypair>;
21
- static fromJSON(value: ICryptoExchangeKeypairSerialized): Promise<CryptoExchangeKeypair>;
22
- static fromBase64(value: string): Promise<CryptoExchangeKeypair>;
23
- static deserialize(value: string): Promise<CryptoExchangeKeypair>;
19
+ protected static preFrom(value: any): any;
20
+ static from(value: CryptoExchangeKeypair | ICryptoExchangeKeypair): CryptoExchangeKeypair;
21
+ static fromJSON(value: ICryptoExchangeKeypairSerialized): CryptoExchangeKeypair;
22
+ static fromBase64(value: string): CryptoExchangeKeypair;
24
23
  }