@super-protocol/sdk-js 2.1.4-beta.8 → 2.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/TIIGenerator.js +193 -210
- package/dist/cjs/analytics/Analytics.d.ts +2 -2
- package/dist/cjs/analytics/Analytics.js +15 -22
- package/dist/cjs/analytics/AnalyticsError.js +2 -1
- package/dist/cjs/analytics/eventProviders/BrowserEventProvider.js +14 -8
- package/dist/cjs/analytics/eventProviders/EventProvider.js +13 -2
- package/dist/cjs/analytics/eventProviders/NodeEventProvider.js +9 -1
- package/dist/cjs/analytics/transports/AxiosTransport.js +24 -36
- package/dist/cjs/analytics/transports/FetchTransport.js +23 -34
- package/dist/cjs/analytics/types.d.ts +1 -1
- package/dist/cjs/connectors/BaseConnector.js +5 -17
- package/dist/cjs/connectors/BlockchainConnector.js +164 -181
- package/dist/cjs/connectors/BlockchainEventsListener.js +42 -53
- package/dist/cjs/contracts/abi.d.ts +33 -107
- package/dist/cjs/contracts/abi.js +34 -131
- package/dist/cjs/crypto/Crypto.js +54 -73
- package/dist/cjs/crypto/nodejs/AES.js +40 -55
- package/dist/cjs/crypto/nodejs/ARIA.js +39 -54
- package/dist/cjs/crypto/nodejs/ECIES.js +44 -57
- package/dist/cjs/crypto/nodejs/NativeCrypto.js +29 -42
- package/dist/cjs/crypto/nodejs/RSA-Hybrid.js +26 -27
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/models/EtlModel.js +34 -46
- package/dist/cjs/models/Offer.js +110 -156
- package/dist/cjs/models/Order.js +166 -200
- package/dist/cjs/models/Provider.js +47 -65
- package/dist/cjs/models/TCB.js +32 -55
- package/dist/cjs/models/TeeOffer.js +188 -250
- package/dist/cjs/polyfills.js +1 -1
- package/dist/cjs/proto/Compression.js +4 -5
- package/dist/cjs/proto/TRI.js +14 -17
- package/dist/cjs/proto/TeeProperties.js +19 -23
- package/dist/cjs/providers/storage/ChunksDownloadDecorator.js +38 -70
- package/dist/cjs/providers/storage/S3StorageProvider.js +118 -166
- package/dist/cjs/providers/storage/StorageAdapter.js +155 -177
- package/dist/cjs/providers/storage/StorageContentWriter.js +103 -118
- package/dist/cjs/providers/storage/StorageKeyValueAdapter.js +84 -117
- package/dist/cjs/providers/storage/StorageMetadataReader.js +38 -49
- package/dist/cjs/providers/storage/StorjAdapter.js +28 -48
- package/dist/cjs/providers/storage/StorjStorageProvider.d.ts +0 -1
- package/dist/cjs/providers/storage/StorjStorageProvider.js +101 -163
- package/dist/cjs/providers/storage/getStorageProvider.js +1 -1
- package/dist/cjs/staticModels/ActiveOffers.js +14 -29
- package/dist/cjs/staticModels/ActiveOrders.js +20 -35
- package/dist/cjs/staticModels/Consensus.js +71 -93
- package/dist/cjs/staticModels/Deposits.js +20 -39
- package/dist/cjs/staticModels/Marks.js +7 -20
- package/dist/cjs/staticModels/ModelPackager.js +26 -39
- package/dist/cjs/staticModels/Offers.js +33 -51
- package/dist/cjs/staticModels/Orders.js +108 -106
- package/dist/cjs/staticModels/ProviderRegistry.js +23 -41
- package/dist/cjs/staticModels/StaticModel.js +22 -33
- package/dist/cjs/staticModels/Superpro.js +2 -1
- package/dist/cjs/staticModels/SuperproToken.js +27 -40
- package/dist/cjs/staticModels/TeeOffers.js +64 -94
- package/dist/cjs/tee/QuoteParser.js +20 -20
- package/dist/cjs/tee/QuoteValidator.js +176 -201
- package/dist/cjs/tee/helpers.js +2 -1
- package/dist/cjs/tee/statuses.js +4 -4
- package/dist/cjs/tee/types.d.ts +5 -0
- package/dist/cjs/types/Consensus.js +2 -2
- package/dist/cjs/types/Marks.js +2 -2
- package/dist/cjs/types/Offer.js +3 -3
- package/dist/cjs/types/Order.d.ts +2 -14
- package/dist/cjs/types/Order.js +3 -46
- package/dist/cjs/types/SlotUsage.js +2 -2
- package/dist/cjs/types/Superpro.js +2 -2
- package/dist/cjs/utils/Monitoring.js +6 -5
- package/dist/cjs/utils/NonceTracker.js +31 -43
- package/dist/cjs/utils/PubSub.js +2 -4
- package/dist/cjs/utils/TxManager.js +110 -120
- package/dist/cjs/utils/compressors/GzipCompressor.js +5 -16
- package/dist/cjs/utils/compressors/UncompressedCompressor.js +2 -2
- package/dist/cjs/utils/helper.js +26 -23
- package/dist/cjs/utils/helpers/getStreamChunks.js +29 -68
- package/dist/cjs/utils/helpers/tryWithInterval.js +7 -16
- package/dist/cjs/utils/resourceLoaders/BaseResourceLoader.js +7 -44
- package/dist/cjs/utils/resourceLoaders/StorageProviderLoader.js +18 -27
- package/dist/cjs/utils/resourceLoaders/UrlResourceLoader.js +8 -21
- package/dist/cjs/utils/resourceLoaders/getResourceLoader.js +1 -1
- package/dist/mjs/TIIGenerator.js +1 -1
- package/dist/mjs/analytics/Analytics.d.ts +2 -2
- package/dist/mjs/analytics/Analytics.js +1 -1
- package/dist/mjs/analytics/eventProviders/NodeEventProvider.js +1 -1
- package/dist/mjs/analytics/transports/AxiosTransport.js +1 -1
- package/dist/mjs/analytics/transports/FetchTransport.js +1 -1
- package/dist/mjs/analytics/types.d.ts +1 -1
- package/dist/mjs/connectors/BaseConnector.js +1 -1
- package/dist/mjs/connectors/BlockchainConnector.js +1 -1
- package/dist/mjs/connectors/BlockchainEventsListener.js +1 -1
- package/dist/mjs/contracts/abi.d.ts +33 -107
- package/dist/mjs/contracts/abi.js +34 -131
- package/dist/mjs/crypto/Crypto.js +1 -1
- package/dist/mjs/crypto/nodejs/AES.js +1 -1
- package/dist/mjs/crypto/nodejs/ARIA.js +1 -1
- package/dist/mjs/crypto/nodejs/ECIES.js +1 -1
- package/dist/mjs/crypto/nodejs/NativeCrypto.js +1 -1
- package/dist/mjs/index.d.ts +1 -0
- package/dist/mjs/index.js +2 -1
- package/dist/mjs/models/EtlModel.js +1 -1
- package/dist/mjs/models/Offer.js +1 -1
- package/dist/mjs/models/Order.js +38 -20
- package/dist/mjs/models/Provider.js +1 -1
- package/dist/mjs/models/TCB.js +1 -1
- package/dist/mjs/models/TeeOffer.js +1 -1
- package/dist/mjs/polyfills.js +1 -1
- package/dist/mjs/proto/Compression.js +1 -1
- package/dist/mjs/proto/TRI.js +1 -1
- package/dist/mjs/proto/TeeProperties.js +1 -1
- package/dist/mjs/providers/storage/ChunksDownloadDecorator.js +4 -4
- package/dist/mjs/providers/storage/S3StorageProvider.js +1 -1
- package/dist/mjs/providers/storage/StorageAdapter.js +1 -1
- package/dist/mjs/providers/storage/StorageContentWriter.js +1 -1
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +1 -1
- package/dist/mjs/providers/storage/StorageMetadataReader.js +1 -1
- package/dist/mjs/providers/storage/StorjAdapter.js +1 -1
- package/dist/mjs/providers/storage/StorjStorageProvider.d.ts +0 -1
- package/dist/mjs/providers/storage/StorjStorageProvider.js +1 -3
- package/dist/mjs/providers/storage/getStorageProvider.js +1 -1
- package/dist/mjs/staticModels/ActiveOrders.js +1 -1
- package/dist/mjs/staticModels/Consensus.js +1 -1
- package/dist/mjs/staticModels/Deposits.js +1 -1
- package/dist/mjs/staticModels/ModelPackager.js +1 -1
- package/dist/mjs/staticModels/Offers.js +1 -1
- package/dist/mjs/staticModels/Orders.js +39 -12
- package/dist/mjs/staticModels/StaticModel.js +1 -1
- package/dist/mjs/staticModels/SuperproToken.js +1 -1
- package/dist/mjs/staticModels/TeeOffers.js +1 -1
- package/dist/mjs/tee/QuoteParser.js +1 -1
- package/dist/mjs/tee/QuoteValidator.js +1 -1
- package/dist/mjs/tee/helpers.js +1 -1
- package/dist/mjs/tee/types.d.ts +5 -0
- package/dist/mjs/types/Order.d.ts +2 -14
- package/dist/mjs/types/Order.js +1 -40
- package/dist/mjs/utils/Monitoring.js +1 -1
- package/dist/mjs/utils/NonceTracker.js +1 -1
- package/dist/mjs/utils/PubSub.js +1 -1
- package/dist/mjs/utils/TxManager.js +1 -1
- package/dist/mjs/utils/helper.js +1 -1
- package/dist/mjs/utils/helpers/getStreamChunks.js +1 -1
- package/dist/mjs/utils/helpers/tryWithInterval.js +1 -1
- package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.js +1 -1
- package/dist/mjs/utils/resourceLoaders/StorageProviderLoader.js +1 -1
- package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.js +1 -1
- package/dist/mjs/utils/resourceLoaders/getResourceLoader.js +1 -1
- package/package.json +6 -16
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -27,21 +18,19 @@ class Crypto {
|
|
|
27
18
|
* @param encoding - encoding of key and output data
|
|
28
19
|
* @returns {Promise<Encryption>} - object what contains encrypted data, key and spec to decryption
|
|
29
20
|
*/
|
|
30
|
-
static encrypt(content, encryption) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
});
|
|
21
|
+
static async encrypt(content, encryption) {
|
|
22
|
+
switch (encryption.algo) {
|
|
23
|
+
case dto_js_1.CryptoAlgorithm.AES:
|
|
24
|
+
return await AES_js_1.default.encrypt(content, encryption);
|
|
25
|
+
case dto_js_1.CryptoAlgorithm.ARIA:
|
|
26
|
+
return await ARIA_js_1.default.encrypt(content, encryption);
|
|
27
|
+
case dto_js_1.CryptoAlgorithm.ECIES:
|
|
28
|
+
return await ECIES_js_1.default.encrypt(content, encryption);
|
|
29
|
+
case dto_js_1.CryptoAlgorithm.RSAHybrid:
|
|
30
|
+
return await RSA_Hybrid_js_1.default.encrypt(content, encryption);
|
|
31
|
+
default:
|
|
32
|
+
throw Error(`${encryption.algo} algorithm not supported`);
|
|
33
|
+
}
|
|
45
34
|
}
|
|
46
35
|
/**
|
|
47
36
|
* Encrypts data stream
|
|
@@ -51,40 +40,36 @@ class Crypto {
|
|
|
51
40
|
* @param key – key that will be used to encrypt data
|
|
52
41
|
* @returns {Promise<Encryption>} - encryption info
|
|
53
42
|
*/
|
|
54
|
-
static encryptStream(inputStream, outputStream, encryption) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
});
|
|
43
|
+
static async encryptStream(inputStream, outputStream, encryption) {
|
|
44
|
+
switch (encryption.algo) {
|
|
45
|
+
case dto_js_1.CryptoAlgorithm.AES:
|
|
46
|
+
return await AES_js_1.default.encryptStream(inputStream, outputStream, encryption);
|
|
47
|
+
case dto_js_1.CryptoAlgorithm.ARIA:
|
|
48
|
+
return await ARIA_js_1.default.encryptStream(inputStream, outputStream, encryption);
|
|
49
|
+
case dto_js_1.CryptoAlgorithm.RSAHybrid:
|
|
50
|
+
return await RSA_Hybrid_js_1.default.encryptStream(inputStream, outputStream, encryption);
|
|
51
|
+
default:
|
|
52
|
+
throw Error(`${encryption.algo} algorithm not supported`);
|
|
53
|
+
}
|
|
67
54
|
}
|
|
68
55
|
/**
|
|
69
56
|
* Used to decrypt data from blockchain
|
|
70
57
|
* @param encryption - object what contains encrypted data, key and spec to decryption
|
|
71
58
|
* @returns {Promise<string>} - decrypted string
|
|
72
59
|
*/
|
|
73
|
-
static decrypt(encryption) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
});
|
|
60
|
+
static async decrypt(encryption) {
|
|
61
|
+
switch (encryption.algo) {
|
|
62
|
+
case dto_js_1.CryptoAlgorithm.AES:
|
|
63
|
+
return AES_js_1.default.decrypt(encryption);
|
|
64
|
+
case dto_js_1.CryptoAlgorithm.ARIA:
|
|
65
|
+
return ARIA_js_1.default.decrypt(encryption);
|
|
66
|
+
case dto_js_1.CryptoAlgorithm.ECIES:
|
|
67
|
+
return await ECIES_js_1.default.decrypt(encryption);
|
|
68
|
+
case dto_js_1.CryptoAlgorithm.RSAHybrid:
|
|
69
|
+
return RSA_Hybrid_js_1.default.decrypt(encryption);
|
|
70
|
+
default:
|
|
71
|
+
throw Error(`${encryption.algo} algorithm not supported`);
|
|
72
|
+
}
|
|
88
73
|
}
|
|
89
74
|
/**
|
|
90
75
|
* Decrypts data stream
|
|
@@ -92,28 +77,24 @@ class Crypto {
|
|
|
92
77
|
* @param outputStream - stream where the decrypted data will be written
|
|
93
78
|
* @param encryption – encryption info
|
|
94
79
|
*/
|
|
95
|
-
static decryptStream(inputStream, outputStream, encryption) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
});
|
|
80
|
+
static async decryptStream(inputStream, outputStream, encryption) {
|
|
81
|
+
switch (encryption.algo) {
|
|
82
|
+
case dto_js_1.CryptoAlgorithm.AES:
|
|
83
|
+
return await AES_js_1.default.decryptStream(inputStream, outputStream, encryption);
|
|
84
|
+
case dto_js_1.CryptoAlgorithm.ARIA:
|
|
85
|
+
return await ARIA_js_1.default.decryptStream(inputStream, outputStream, encryption);
|
|
86
|
+
case dto_js_1.CryptoAlgorithm.RSAHybrid:
|
|
87
|
+
return await RSA_Hybrid_js_1.default.decryptStream(inputStream, outputStream, encryption);
|
|
88
|
+
default:
|
|
89
|
+
throw Error(`${encryption.algo} algorithm not supported`);
|
|
90
|
+
}
|
|
108
91
|
}
|
|
109
|
-
static createHash(param1, hashInfo) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
: yield NativeCrypto_js_1.default.createHashFromStream(param1, algo, encoding);
|
|
115
|
-
});
|
|
92
|
+
static async createHash(param1, hashInfo) {
|
|
93
|
+
const { algo, encoding } = hashInfo;
|
|
94
|
+
return Buffer.isBuffer(param1)
|
|
95
|
+
? NativeCrypto_js_1.default.createHashFromBuffer(param1, algo, encoding)
|
|
96
|
+
: await NativeCrypto_js_1.default.createHashFromStream(param1, algo, encoding);
|
|
116
97
|
}
|
|
117
98
|
}
|
|
118
99
|
exports.default = Crypto;
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9DcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFRZ0M7QUFFaEMsNkRBQWtDO0FBQ2xDLCtEQUFvQztBQUNwQyxpRUFBc0M7QUFDdEMsMkVBQStDO0FBQy9DLCtFQUFvRDtBQUdwRCxNQUFNLE1BQU07SUFDVjs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQXNCO1FBQzFELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLEtBQUssd0JBQWUsQ0FBQyxHQUFHO2dCQUN0QixPQUFPLE1BQU0sZ0JBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWhELEtBQUssd0JBQWUsQ0FBQyxJQUFJO2dCQUN2QixPQUFPLE1BQU0saUJBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWpELEtBQUssd0JBQWUsQ0FBQyxLQUFLO2dCQUN4QixPQUFPLE1BQU0sa0JBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWxELEtBQUssd0JBQWUsQ0FBQyxTQUFTO2dCQUM1QixPQUFPLE1BQU0sdUJBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXREO2dCQUNFLE1BQU0sS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksMEJBQTBCLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDL0IsV0FBMEIsRUFDMUIsWUFBNEIsRUFDNUIsVUFBc0I7UUFFdEIsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsS0FBSyx3QkFBZSxDQUFD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
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -15,22 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
6
|
const dto_js_1 = require("@super-protocol/dto-js");
|
|
16
7
|
const NativeCrypto_js_1 = __importDefault(require("./NativeCrypto.js"));
|
|
17
8
|
class AES {
|
|
18
|
-
static encrypt(content, encryption) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
};
|
|
33
|
-
});
|
|
9
|
+
static async encrypt(content, encryption) {
|
|
10
|
+
if (!encryption.key)
|
|
11
|
+
throw Error('Encryption key is not provided');
|
|
12
|
+
encryption.cipher = encryption.cipher || dto_js_1.Cipher.AES_256_GCM;
|
|
13
|
+
const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
|
|
14
|
+
const encrypted = NativeCrypto_js_1.default.encrypt(keyBuffer, content, encryption.cipher);
|
|
15
|
+
return {
|
|
16
|
+
algo: dto_js_1.CryptoAlgorithm.AES,
|
|
17
|
+
encoding: encryption.encoding,
|
|
18
|
+
cipher: encryption.cipher,
|
|
19
|
+
ciphertext: encrypted.ciphertext,
|
|
20
|
+
iv: encrypted.iv,
|
|
21
|
+
mac: encrypted.mac,
|
|
22
|
+
};
|
|
34
23
|
}
|
|
35
24
|
/**
|
|
36
25
|
* Encrypts data stream
|
|
@@ -40,22 +29,20 @@ class AES {
|
|
|
40
29
|
* @param key – key that will be used to encrypt data
|
|
41
30
|
* @returns {Promise<Encryption>} - encryption info
|
|
42
31
|
*/
|
|
43
|
-
static encryptStream(inputStream, outputStream, encryption) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
});
|
|
32
|
+
static async encryptStream(inputStream, outputStream, encryption) {
|
|
33
|
+
if (!encryption.key)
|
|
34
|
+
throw Error('Encryption key is not provided');
|
|
35
|
+
encryption.cipher = encryption.cipher || dto_js_1.Cipher.AES_256_GCM;
|
|
36
|
+
const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
|
|
37
|
+
const encrypted = await NativeCrypto_js_1.default.encryptStream(keyBuffer, inputStream, outputStream, encryption.cipher);
|
|
38
|
+
return {
|
|
39
|
+
algo: encryption.algo,
|
|
40
|
+
encoding: encryption.encoding,
|
|
41
|
+
cipher: encryption.cipher,
|
|
42
|
+
ciphertext: encrypted.ciphertext,
|
|
43
|
+
iv: encrypted.iv,
|
|
44
|
+
mac: encrypted.mac,
|
|
45
|
+
};
|
|
59
46
|
}
|
|
60
47
|
static decrypt(encryption) {
|
|
61
48
|
if (!encryption.key)
|
|
@@ -75,20 +62,18 @@ class AES {
|
|
|
75
62
|
* @param outputStream - stream where the decrypted data will be written
|
|
76
63
|
* @param encryption – encryption info
|
|
77
64
|
*/
|
|
78
|
-
static decryptStream(inputStream, outputStream, encryption) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
yield NativeCrypto_js_1.default.decryptStream(key, inputStream, outputStream, encryption.cipher, params);
|
|
90
|
-
});
|
|
65
|
+
static async decryptStream(inputStream, outputStream, encryption) {
|
|
66
|
+
if (!encryption.key)
|
|
67
|
+
throw Error('Decryption key is not provided');
|
|
68
|
+
const key = Buffer.from(encryption.key, encryption.encoding);
|
|
69
|
+
const params = {
|
|
70
|
+
iv: Buffer.from(encryption.iv, encryption.encoding),
|
|
71
|
+
};
|
|
72
|
+
if (encryption.mac) {
|
|
73
|
+
params.mac = Buffer.from(encryption.mac, encryption.encoding);
|
|
74
|
+
}
|
|
75
|
+
await NativeCrypto_js_1.default.decryptStream(key, inputStream, outputStream, encryption.cipher, params);
|
|
91
76
|
}
|
|
92
77
|
}
|
|
93
78
|
exports.default = AES;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUVTLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NyeXB0by9ub2RlanMvQUVTLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbURBTWdDO0FBR2hDLHdFQUE2QztBQUU3QyxNQUFNLEdBQUc7SUFDQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNuRSxVQUFVLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksZUFBTSxDQUFDLFdBQVcsQ0FBQztRQUU1RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sU0FBUyxHQUFHLHlCQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlFLE9BQU87WUFDTCxJQUFJLEVBQUUsd0JBQWUsQ0FBQyxHQUFHO1lBQ3pCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtZQUM3QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQXdDO1lBQzNELFVBQVUsRUFBRSxTQUFTLENBQUMsVUFBVTtZQUNoQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUc7WUFDakIsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFJO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUMvQixXQUF1QixFQUN2QixZQUF5QixFQUN6QixVQUFzQjtRQUV0QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFBRSxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ25FLFVB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
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -15,22 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
6
|
const dto_js_1 = require("@super-protocol/dto-js");
|
|
16
7
|
const NativeCrypto_js_1 = __importDefault(require("./NativeCrypto.js"));
|
|
17
8
|
class ARIA {
|
|
18
|
-
static encrypt(content, encryption) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
};
|
|
33
|
-
});
|
|
9
|
+
static async encrypt(content, encryption) {
|
|
10
|
+
if (!encryption.key)
|
|
11
|
+
throw Error('Encryption key is not provided');
|
|
12
|
+
encryption.cipher = encryption.cipher || dto_js_1.Cipher.ARIA_256_GCM;
|
|
13
|
+
const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
|
|
14
|
+
const encrypted = NativeCrypto_js_1.default.encrypt(keyBuffer, content, encryption.cipher);
|
|
15
|
+
return {
|
|
16
|
+
algo: dto_js_1.CryptoAlgorithm.ARIA,
|
|
17
|
+
encoding: encryption.encoding,
|
|
18
|
+
cipher: encryption.cipher,
|
|
19
|
+
ciphertext: encrypted.ciphertext,
|
|
20
|
+
iv: encrypted.iv,
|
|
21
|
+
mac: encrypted.mac,
|
|
22
|
+
};
|
|
34
23
|
}
|
|
35
24
|
/**
|
|
36
25
|
* Encrypts data stream
|
|
@@ -40,21 +29,19 @@ class ARIA {
|
|
|
40
29
|
* @param key – key that will be used to encrypt data
|
|
41
30
|
* @returns {Promise<Encryption>} - encryption info
|
|
42
31
|
*/
|
|
43
|
-
static encryptStream(inputStream, outputStream, encryption) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
};
|
|
57
|
-
});
|
|
32
|
+
static async encryptStream(inputStream, outputStream, encryption) {
|
|
33
|
+
if (!encryption.key)
|
|
34
|
+
throw Error('Encryption key is not provided');
|
|
35
|
+
encryption.cipher = encryption.cipher || dto_js_1.Cipher.ARIA_256_GCM;
|
|
36
|
+
const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
|
|
37
|
+
const encrypted = await NativeCrypto_js_1.default.encryptStream(keyBuffer, inputStream, outputStream, encryption.cipher);
|
|
38
|
+
return {
|
|
39
|
+
algo: dto_js_1.CryptoAlgorithm.ARIA,
|
|
40
|
+
encoding: encryption.encoding,
|
|
41
|
+
cipher: encryption.cipher,
|
|
42
|
+
iv: encrypted.iv,
|
|
43
|
+
mac: encrypted.mac,
|
|
44
|
+
};
|
|
58
45
|
}
|
|
59
46
|
static decrypt(encryption) {
|
|
60
47
|
if (!encryption.key)
|
|
@@ -74,20 +61,18 @@ class ARIA {
|
|
|
74
61
|
* @param outputStream - stream where the decrypted data will be written
|
|
75
62
|
* @param encryption – encryption info
|
|
76
63
|
*/
|
|
77
|
-
static decryptStream(inputStream, outputStream, encryption) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
yield NativeCrypto_js_1.default.decryptStream(key, inputStream, outputStream, encryption.cipher, params);
|
|
89
|
-
});
|
|
64
|
+
static async decryptStream(inputStream, outputStream, encryption) {
|
|
65
|
+
if (!encryption.key)
|
|
66
|
+
throw Error('Decryption key is not provided');
|
|
67
|
+
const key = Buffer.from(encryption.key, encryption.encoding);
|
|
68
|
+
const params = {
|
|
69
|
+
iv: Buffer.from(encryption.iv, encryption.encoding),
|
|
70
|
+
};
|
|
71
|
+
if (encryption.mac) {
|
|
72
|
+
params.mac = Buffer.from(encryption.mac, encryption.encoding);
|
|
73
|
+
}
|
|
74
|
+
await NativeCrypto_js_1.default.decryptStream(key, inputStream, outputStream, encryption.cipher, params);
|
|
90
75
|
}
|
|
91
76
|
}
|
|
92
77
|
exports.default = ARIA;
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVJJQS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vbm9kZWpzL0FSSUEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFNZ0M7QUFHaEMsd0VBQTZDO0FBRTdDLE1BQU0sSUFBSTtJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWUsRUFBRSxVQUFzQjtRQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFBRSxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ25FLFVBQVUsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxlQUFNLENBQUMsWUFBWSxDQUFDO1FBRTdELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbkUsTUFBTSxTQUFTLEdBQUcseUJBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUUsT0FBTztZQUNMLElBQUksRUFBRSx3QkFBZSxDQUFDLElBQUk7WUFDMUIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBeUM7WUFDNUQsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVO1lBQ2hDLEVBQUUsRUFBRSxTQUFTLENBQUMsRUFBRztZQUNqQixHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUk7U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQy9CLFdBQXVCLEVBQ3ZCLFlBQXlCLEVBQ3pCLFVBQXNCO1FBRXRCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztZQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDbkUsVUFBVSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxJQUFJLGVBQU0sQ0FBQyxZQUFZLENBQUM7UUFFN0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuRSxNQUFNLFNBQVMsR0FBRyxNQUFNLHlCQUFZLENBQUMsYUFBYSxDQUNoRCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixVQUFVLENBQUMsTUFBTSxDQUNsQixDQUFDO1FBRUYsT0FBTztZQUNMLElBQUksRUFBRSx3QkFBZSxDQUFDLElBQUk7WUFDMUIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBeUM7WUFDNUQsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFHO1lBQ2pCLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBSTtTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBMEI7UUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUVuRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELE1BQU0sTUFBTSxHQUFRO1lBQ2xCLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwRCxDQUFDO1FBRUYsSUFBSyxVQUFvQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBRSxVQUFvQyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUVELE9BQU8seUJBQVksQ0FBQyxPQUFPLENBQ3pCLEdBQUcsRUFDSCxVQUFVLENBQUMsVUFBVyxFQUN0QixVQUFVLENBQUMsTUFBTSxFQUNqQixNQUFNLEVBQ04sVUFBVSxDQUFDLFFBQVEsQ0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUMvQixXQUF1QixFQUN2QixZQUF5QixFQUN6QixVQUEwQjtRQUUxQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFBRSxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0QsTUFBTSxNQUFNLEdBQVE7WUFDbEIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3BELENBQUM7UUFFRixJQUFLLFVBQW9DLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDOUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFFLFVBQW9DLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRixDQUFDO1FBRUQsTUFBTSx5QkFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlGLENBQUM7Q0FDRjtBQUVELGtCQUFlLElBQUksQ0FBQyJ9
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -15,55 +6,51 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
6
|
const dto_js_1 = require("@super-protocol/dto-js");
|
|
16
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
17
8
|
class ECIES {
|
|
18
|
-
static encrypt(content, encryption) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
42
|
-
});
|
|
9
|
+
static async encrypt(content, encryption) {
|
|
10
|
+
if (!encryption.key)
|
|
11
|
+
throw Error('Encryption key is not provided');
|
|
12
|
+
const ecdh = crypto_1.default.createECDH('secp256k1');
|
|
13
|
+
ecdh.generateKeys();
|
|
14
|
+
const epk = ecdh.getPublicKey();
|
|
15
|
+
const pk = ecdh.computeSecret(Buffer.from(encryption.key, encryption.encoding));
|
|
16
|
+
const hash = crypto_1.default.createHash('sha512').update(pk).digest();
|
|
17
|
+
const cipherKey = hash.slice(0, 32), macKey = hash.slice(32);
|
|
18
|
+
const iv = crypto_1.default.randomBytes(16);
|
|
19
|
+
const cipher = crypto_1.default.createCipheriv('aes-256-cbc', cipherKey, iv);
|
|
20
|
+
let ct = cipher.update(content);
|
|
21
|
+
ct = Buffer.concat([ct, cipher.final()]);
|
|
22
|
+
const dataToMac = Buffer.concat([iv, epk, ct]);
|
|
23
|
+
const mac = crypto_1.default.createHmac('sha256', macKey).update(dataToMac).digest();
|
|
24
|
+
return {
|
|
25
|
+
iv: iv.toString(encryption.encoding),
|
|
26
|
+
ephemPublicKey: epk.toString(encryption.encoding),
|
|
27
|
+
mac: mac.toString(encryption.encoding),
|
|
28
|
+
encoding: encryption.encoding,
|
|
29
|
+
algo: dto_js_1.CryptoAlgorithm.ECIES,
|
|
30
|
+
ciphertext: ct.toString(encryption.encoding),
|
|
31
|
+
};
|
|
43
32
|
}
|
|
44
|
-
static decrypt(encryption) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return result.toString('binary');
|
|
65
|
-
});
|
|
33
|
+
static async decrypt(encryption) {
|
|
34
|
+
if (!encryption.key)
|
|
35
|
+
throw Error('Decryption key is not provided');
|
|
36
|
+
const iv = Buffer.from(encryption.iv, encryption.encoding), epk = Buffer.from(encryption.ephemPublicKey, encryption.encoding), ct = Buffer.from(encryption.ciphertext, encryption.encoding), mac = Buffer.from(encryption.mac, encryption.encoding);
|
|
37
|
+
const ecdh = crypto_1.default.createECDH('secp256k1');
|
|
38
|
+
ecdh.setPrivateKey(Buffer.from(encryption.key, encryption.encoding));
|
|
39
|
+
const pk = ecdh.computeSecret(epk);
|
|
40
|
+
const hash = crypto_1.default.createHash('sha512').update(pk).digest();
|
|
41
|
+
const cipherKey = hash.slice(0, 32), macKey = hash.slice(32);
|
|
42
|
+
const m = crypto_1.default
|
|
43
|
+
.createHmac('sha256', macKey)
|
|
44
|
+
.update(Buffer.concat([iv, epk, ct]))
|
|
45
|
+
.digest();
|
|
46
|
+
if (m.compare(mac) !== 0 || mac.compare(m) !== 0) {
|
|
47
|
+
throw new Error('Corrupted Ecies body: unmatched authentication code');
|
|
48
|
+
}
|
|
49
|
+
const decipher = crypto_1.default.createDecipheriv('aes-256-cbc', cipherKey, iv);
|
|
50
|
+
const pt = decipher.update(ct);
|
|
51
|
+
const result = Buffer.concat([pt, decipher.final()]);
|
|
52
|
+
return result.toString('binary');
|
|
66
53
|
}
|
|
67
54
|
}
|
|
68
55
|
exports.default = ECIES;
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRUNJRVMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL25vZGVqcy9FQ0lFUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1EQUFzRjtBQUN0RixvREFBNEI7QUFFNUIsTUFBTSxLQUFLO0lBQ0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQXNCO1FBQ2pFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztZQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFFbkUsTUFBTSxJQUFJLEdBQUcsZ0JBQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVoRixNQUFNLElBQUksR0FBRyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQ2pDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sRUFBRSxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sTUFBTSxHQUFHLGdCQUFNLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxFQUFFLEdBQUcsTUFB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
|