@shapeshiftoss/hdwallet-native 1.50.8 → 1.50.10
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/adapter.d.ts +1 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +5 -1
- package/dist/adapter.js.map +1 -1
- package/dist/arkeo.js +5 -1
- package/dist/arkeo.js.map +1 -1
- package/dist/binance.d.ts +1 -1
- package/dist/binance.d.ts.map +1 -1
- package/dist/binance.js +14 -10
- package/dist/binance.js.map +1 -1
- package/dist/bitcoin.d.ts +9 -9
- package/dist/bitcoin.d.ts.map +1 -1
- package/dist/bitcoin.js +10 -6
- package/dist/bitcoin.js.map +1 -1
- package/dist/cosmos.js +5 -1
- package/dist/cosmos.js.map +1 -1
- package/dist/crypto/CryptoHelper.js +6 -2
- package/dist/crypto/CryptoHelper.js.map +1 -1
- package/dist/crypto/EncryptedWallet.js +5 -1
- package/dist/crypto/EncryptedWallet.js.map +1 -1
- package/dist/crypto/classes/cipherString.js +6 -6
- package/dist/crypto/classes/cipherString.js.map +1 -1
- package/dist/crypto/classes/encryptionType.js +1 -1
- package/dist/crypto/classes/encryptionType.js.map +1 -1
- package/dist/crypto/classes/symmetricCryptoKey.js +3 -3
- package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
- package/dist/crypto/engines/index.js +5 -1
- package/dist/crypto/engines/index.js.map +1 -1
- package/dist/crypto/engines/types.js +1 -1
- package/dist/crypto/engines/types.js.map +1 -1
- package/dist/crypto/engines/web-crypto.js +5 -1
- package/dist/crypto/engines/web-crypto.js.map +1 -1
- package/dist/crypto/index.js +5 -1
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/isolation/adapters/binance.d.ts +1 -1
- package/dist/crypto/isolation/adapters/binance.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/binance.js +5 -1
- package/dist/crypto/isolation/adapters/binance.js.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.js +6 -2
- package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.d.ts +9 -9
- package/dist/crypto/isolation/adapters/bitcoin.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.js +7 -3
- package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js +5 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.js +7 -3
- package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/fio.js +6 -2
- package/dist/crypto/isolation/adapters/fio.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.js +6 -2
- package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js +5 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.d.ts +2 -2
- package/dist/crypto/isolation/core/bip32/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.js +2 -2
- package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/index.js +5 -1
- package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/index.js +5 -1
- package/dist/crypto/isolation/core/digest/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/types.d.ts +8 -8
- package/dist/crypto/isolation/core/digest/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/types.js +10 -10
- package/dist/crypto/isolation/core/digest/types.js.map +1 -1
- package/dist/crypto/isolation/core/index.js +5 -1
- package/dist/crypto/isolation/core/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/index.js +5 -1
- package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.d.ts +14 -14
- package/dist/crypto/isolation/core/secp256k1/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.js +39 -35
- package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.js +21 -17
- package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip39.js +8 -4
- package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.js +5 -1
- package/dist/crypto/isolation/engines/default/index.js.map +1 -1
- package/dist/crypto/isolation/engines/default/revocable.js +2 -2
- package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip32.js +10 -6
- package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip39.js +9 -5
- package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/index.js +5 -1
- package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/types.d.ts +1 -1
- package/dist/crypto/isolation/engines/dummy/types.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/index.js +5 -1
- package/dist/crypto/isolation/engines/index.js.map +1 -1
- package/dist/crypto/isolation/index.js +5 -1
- package/dist/crypto/isolation/index.js.map +1 -1
- package/dist/crypto/isolation/types.d.ts +18 -18
- package/dist/crypto/isolation/types.d.ts.map +1 -1
- package/dist/crypto/isolation/types.js +5 -5
- package/dist/crypto/isolation/types.js.map +1 -1
- package/dist/ethereum.js +6 -2
- package/dist/ethereum.js.map +1 -1
- package/dist/fio.js +8 -4
- package/dist/fio.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/kava.js +5 -1
- package/dist/kava.js.map +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +10 -6
- package/dist/native.js.map +1 -1
- package/dist/networks.js +5 -1
- package/dist/networks.js.map +1 -1
- package/dist/osmosis.js +5 -1
- package/dist/osmosis.js.map +1 -1
- package/dist/secret.js +5 -1
- package/dist/secret.js.map +1 -1
- package/dist/terra.js +5 -1
- package/dist/terra.js.map +1 -1
- package/dist/thorchain.js +5 -1
- package/dist/thorchain.js.map +1 -1
- package/dist/util.js +6 -2
- package/dist/util.js.map +1 -1
- package/package.json +7 -11
- package/dist/adapter.test.d.ts +0 -2
- package/dist/adapter.test.d.ts.map +0 -1
- package/dist/adapter.test.js +0 -56
- package/dist/adapter.test.js.map +0 -1
- package/dist/arkeo.test.d.ts +0 -2
- package/dist/arkeo.test.d.ts.map +0 -1
- package/dist/arkeo.test.js +0 -101
- package/dist/arkeo.test.js.map +0 -1
- package/dist/binance.test.d.ts +0 -2
- package/dist/binance.test.d.ts.map +0 -1
- package/dist/binance.test.js +0 -297
- package/dist/binance.test.js.map +0 -1
- package/dist/bitcoin.test.d.ts +0 -2
- package/dist/bitcoin.test.d.ts.map +0 -1
- package/dist/bitcoin.test.js +0 -392
- package/dist/bitcoin.test.js.map +0 -1
- package/dist/cosmos.test.d.ts +0 -2
- package/dist/cosmos.test.d.ts.map +0 -1
- package/dist/cosmos.test.js +0 -105
- package/dist/cosmos.test.js.map +0 -1
- package/dist/crypto/CryptoHelper.test.d.ts +0 -2
- package/dist/crypto/CryptoHelper.test.d.ts.map +0 -1
- package/dist/crypto/CryptoHelper.test.js +0 -192
- package/dist/crypto/CryptoHelper.test.js.map +0 -1
- package/dist/crypto/EncryptedWallet.test.d.ts +0 -2
- package/dist/crypto/EncryptedWallet.test.d.ts.map +0 -1
- package/dist/crypto/EncryptedWallet.test.js +0 -170
- package/dist/crypto/EncryptedWallet.test.js.map +0 -1
- package/dist/crypto/classes/cipherString.test.d.ts +0 -2
- package/dist/crypto/classes/cipherString.test.d.ts.map +0 -1
- package/dist/crypto/classes/cipherString.test.js +0 -54
- package/dist/crypto/classes/cipherString.test.js.map +0 -1
- package/dist/crypto/classes/symmetricCryptoKey.test.d.ts +0 -2
- package/dist/crypto/classes/symmetricCryptoKey.test.d.ts.map +0 -1
- package/dist/crypto/classes/symmetricCryptoKey.test.js +0 -41
- package/dist/crypto/classes/symmetricCryptoKey.test.js.map +0 -1
- package/dist/crypto/engines/web-crypto.test.d.ts +0 -2
- package/dist/crypto/engines/web-crypto.test.d.ts.map +0 -1
- package/dist/crypto/engines/web-crypto.test.js +0 -167
- package/dist/crypto/engines/web-crypto.test.js.map +0 -1
- package/dist/crypto/isolation/core/digest/index.test.d.ts +0 -2
- package/dist/crypto/isolation/core/digest/index.test.d.ts.map +0 -1
- package/dist/crypto/isolation/core/digest/index.test.js +0 -42
- package/dist/crypto/isolation/core/digest/index.test.js.map +0 -1
- package/dist/crypto/isolation/engines/default/index.test.d.ts +0 -2
- package/dist/crypto/isolation/engines/default/index.test.d.ts.map +0 -1
- package/dist/crypto/isolation/engines/default/index.test.js +0 -98
- package/dist/crypto/isolation/engines/default/index.test.js.map +0 -1
- package/dist/crypto/isolation/engines/dummy/index.test.d.ts +0 -2
- package/dist/crypto/isolation/engines/dummy/index.test.d.ts.map +0 -1
- package/dist/crypto/isolation/engines/dummy/index.test.js +0 -111
- package/dist/crypto/isolation/engines/dummy/index.test.js.map +0 -1
- package/dist/crypto/utils.test.d.ts +0 -2
- package/dist/crypto/utils.test.d.ts.map +0 -1
- package/dist/crypto/utils.test.js +0 -56
- package/dist/crypto/utils.test.js.map +0 -1
- package/dist/ethereum.test.d.ts +0 -2
- package/dist/ethereum.test.d.ts.map +0 -1
- package/dist/ethereum.test.js +0 -281
- package/dist/ethereum.test.js.map +0 -1
- package/dist/fio.test.d.ts +0 -2
- package/dist/fio.test.d.ts.map +0 -1
- package/dist/fio.test.js +0 -281
- package/dist/fio.test.js.map +0 -1
- package/dist/index.test.d.ts +0 -2
- package/dist/index.test.d.ts.map +0 -1
- package/dist/index.test.js +0 -31
- package/dist/index.test.js.map +0 -1
- package/dist/kava.test.d.ts +0 -2
- package/dist/kava.test.d.ts.map +0 -1
- package/dist/kava.test.js +0 -87
- package/dist/kava.test.js.map +0 -1
- package/dist/native.test.d.ts +0 -2
- package/dist/native.test.d.ts.map +0 -1
- package/dist/native.test.js +0 -472
- package/dist/native.test.js.map +0 -1
- package/dist/networks.test.d.ts +0 -2
- package/dist/networks.test.d.ts.map +0 -1
- package/dist/networks.test.js +0 -28
- package/dist/networks.test.js.map +0 -1
- package/dist/osmosis.test.d.ts +0 -2
- package/dist/osmosis.test.d.ts.map +0 -1
- package/dist/osmosis.test.js +0 -105
- package/dist/osmosis.test.js.map +0 -1
- package/dist/secret.test.d.ts +0 -2
- package/dist/secret.test.d.ts.map +0 -1
- package/dist/secret.test.js +0 -86
- package/dist/secret.test.js.map +0 -1
- package/dist/terra.test.d.ts +0 -2
- package/dist/terra.test.d.ts.map +0 -1
- package/dist/terra.test.js +0 -86
- package/dist/terra.test.js.map +0 -1
- package/dist/thorchain.test.d.ts +0 -2
- package/dist/thorchain.test.d.ts.map +0 -1
- package/dist/thorchain.test.js +0 -100
- package/dist/thorchain.test.js.map +0 -1
- package/dist/util.test.d.ts +0 -2
- package/dist/util.test.d.ts.map +0 -1
- package/dist/util.test.js +0 -45
- package/dist/util.test.js.map +0 -1
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
31
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
|
-
};
|
|
33
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
/**
|
|
35
|
-
* @jest-environment jsdom
|
|
36
|
-
*/
|
|
37
|
-
const webcrypto = __importStar(require("@peculiar/webcrypto"));
|
|
38
|
-
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
39
|
-
const classes_1 = require("./classes");
|
|
40
|
-
const CryptoHelper_1 = __importDefault(require("./CryptoHelper"));
|
|
41
|
-
const engines_1 = require("./engines");
|
|
42
|
-
const utils = __importStar(require("./utils"));
|
|
43
|
-
const PLAINTEXT_STRING = "totally random secret data";
|
|
44
|
-
const ENCRYPTED_STRING = "2.A/tC/OC0U/KN3XuAuz2L36lydOyr5x367tPSGSrPkvQ=|AAAAAAAAAAAAAAAAAAAAAA==|ZqR8HTeOg4+8mzcty10jVFZ5MqFFbn5bwEaqlL0c/Mg=";
|
|
45
|
-
const ENCRYPTED_EMPTY_STRING = "2.7wpUO5ISHHdT1voBnjzyXQ==|AAAAAAAAAAAAAAAAAAAAAA==|02KQ8aQWWXUX7foOmf4T2W0XCFAk4OTKFQO+hRhlRcY=";
|
|
46
|
-
const BAD_ARGS = [undefined, null, "encrypteddatastring", [1, 2, 3, 4, 5, 6], {}];
|
|
47
|
-
describe("CryptoHelpers", () => {
|
|
48
|
-
// Load shim to support running tests in node
|
|
49
|
-
globalThis.crypto = new webcrypto.Crypto();
|
|
50
|
-
const engine = new engines_1.WebCryptoEngine();
|
|
51
|
-
const helper = new CryptoHelper_1.default(engine);
|
|
52
|
-
describe("constructor", () => {
|
|
53
|
-
it("should require a CryptoEngine instances", () => {
|
|
54
|
-
expect(() => new CryptoHelper_1.default(undefined)).toThrow("Missing cryptography engine");
|
|
55
|
-
});
|
|
56
|
-
it("should return a new instance", () => {
|
|
57
|
-
expect(new CryptoHelper_1.default(engine)).toBeInstanceOf(CryptoHelper_1.default);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
describe("aesEncrypt", () => {
|
|
61
|
-
it("should encrypt data with an hmac signature", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
|
-
const randomMock = jest
|
|
63
|
-
.spyOn(global.crypto, "getRandomValues")
|
|
64
|
-
.mockImplementation((array) => array && new Uint8Array(array.byteLength).fill(0));
|
|
65
|
-
const key = yield helper.makeKey("password", "email");
|
|
66
|
-
const encrypted = yield helper.aesEncrypt(utils.fromUtf8ToArray(PLAINTEXT_STRING), key);
|
|
67
|
-
randomMock.mockRestore();
|
|
68
|
-
expect(encrypted.key).toEqual(key);
|
|
69
|
-
expect(encrypted.iv.byteLength).toBe(16);
|
|
70
|
-
expect(encrypted.mac.byteLength).toBe(32);
|
|
71
|
-
expect(encrypted.data.byteLength).toBe(32);
|
|
72
|
-
expect(encrypted.toString()).toEqual(ENCRYPTED_STRING);
|
|
73
|
-
}));
|
|
74
|
-
it("should encrypt the empty string", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
-
const randomMock = jest
|
|
76
|
-
.spyOn(global.crypto, "getRandomValues")
|
|
77
|
-
.mockImplementation((array) => array && new Uint8Array(array.byteLength).fill(0));
|
|
78
|
-
const key = yield helper.makeKey("password", "email");
|
|
79
|
-
const encrypted = yield helper.aesEncrypt(utils.fromUtf8ToArray(""), key);
|
|
80
|
-
randomMock.mockRestore();
|
|
81
|
-
expect(encrypted.key).toEqual(key);
|
|
82
|
-
expect(encrypted.iv.byteLength).toBe(16);
|
|
83
|
-
expect(encrypted.mac.byteLength).toBe(32);
|
|
84
|
-
expect(encrypted.data.byteLength).toBe(16);
|
|
85
|
-
expect(encrypted.toString()).toEqual(ENCRYPTED_EMPTY_STRING);
|
|
86
|
-
}));
|
|
87
|
-
it.each([
|
|
88
|
-
["data", 0],
|
|
89
|
-
["key", 1],
|
|
90
|
-
])("should throw an error if %s is not the correct type", (name, position) => __awaiter(void 0, void 0, void 0, function* () {
|
|
91
|
-
const dummyArg = new Uint8Array(32).fill(0);
|
|
92
|
-
for (const arg of BAD_ARGS) {
|
|
93
|
-
const args = new Array(position).fill(dummyArg);
|
|
94
|
-
args.push(arg);
|
|
95
|
-
yield expect(helper.aesEncrypt(...args)).rejects.toThrowError(`[${name}] is not of type`);
|
|
96
|
-
}
|
|
97
|
-
}));
|
|
98
|
-
it("should work with ArrayBuffers", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
99
|
-
const key = yield helper.makeKey("password", "email");
|
|
100
|
-
const encrypted = yield helper.aesEncrypt(core.toArrayBuffer(utils.fromUtf8ToArray(PLAINTEXT_STRING)), key);
|
|
101
|
-
const decrypted = yield helper.aesDecrypt(encrypted.data, encrypted.iv, encrypted.mac, key);
|
|
102
|
-
expect(utils.fromBufferToUtf8(decrypted)).toEqual(PLAINTEXT_STRING);
|
|
103
|
-
}));
|
|
104
|
-
it("should work with Uint8Arrays", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
105
|
-
const key = yield helper.makeKey("password", "email");
|
|
106
|
-
const encrypted = yield helper.aesEncrypt(utils.fromUtf8ToArray(PLAINTEXT_STRING), key);
|
|
107
|
-
const decrypted = yield helper.aesDecrypt(new Uint8Array(encrypted.data), new Uint8Array(encrypted.iv), new Uint8Array(encrypted.mac), key);
|
|
108
|
-
expect(utils.fromBufferToUtf8(decrypted)).toEqual(PLAINTEXT_STRING);
|
|
109
|
-
}));
|
|
110
|
-
});
|
|
111
|
-
describe("aesDecrypt", () => {
|
|
112
|
-
it("should decrypt data with an hmac signature", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
113
|
-
const key = yield helper.makeKey("password", "email");
|
|
114
|
-
const encrypted = new classes_1.CipherString(ENCRYPTED_STRING).toEncryptedObject(key);
|
|
115
|
-
const decrypted = yield helper.aesDecrypt(encrypted.data, encrypted.iv, encrypted.mac, encrypted.key);
|
|
116
|
-
expect(utils.fromBufferToUtf8(decrypted)).toEqual(PLAINTEXT_STRING);
|
|
117
|
-
}));
|
|
118
|
-
it("should fail if the data is incorrect", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
|
-
const key = yield helper.makeKey("password", "email");
|
|
120
|
-
const encrypted = new classes_1.CipherString(ENCRYPTED_STRING).toEncryptedObject(key);
|
|
121
|
-
const data = new Uint8Array(encrypted.data.byteLength).fill(0x80);
|
|
122
|
-
yield expect(helper.aesDecrypt(data, encrypted.iv, encrypted.mac, encrypted.key)).rejects.toThrow("HMAC signature is not valid");
|
|
123
|
-
}));
|
|
124
|
-
it("should fail if the iv is incorrect", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
125
|
-
const key = yield helper.makeKey("password", "email");
|
|
126
|
-
const encrypted = new classes_1.CipherString(ENCRYPTED_STRING).toEncryptedObject(key);
|
|
127
|
-
const iv = new Uint8Array(encrypted.iv.byteLength).fill(0x80);
|
|
128
|
-
yield expect(helper.aesDecrypt(encrypted.data, iv, encrypted.mac, encrypted.key)).rejects.toThrow("HMAC signature is not valid");
|
|
129
|
-
}));
|
|
130
|
-
it("should fail if the mac is incorrect", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
131
|
-
const key = yield helper.makeKey("password", "email");
|
|
132
|
-
const encrypted = new classes_1.CipherString(ENCRYPTED_STRING).toEncryptedObject(key);
|
|
133
|
-
const mac = new Uint8Array(encrypted.mac.byteLength).fill(0x80);
|
|
134
|
-
yield expect(helper.aesDecrypt(encrypted.data, encrypted.iv, mac, encrypted.key)).rejects.toThrow("HMAC signature is not valid");
|
|
135
|
-
}));
|
|
136
|
-
it("should fail if the key is incorrect", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
137
|
-
const key = yield helper.makeKey("password2", "email");
|
|
138
|
-
const encrypted = new classes_1.CipherString(ENCRYPTED_STRING).toEncryptedObject(key);
|
|
139
|
-
yield expect(helper.aesDecrypt(encrypted.data, encrypted.iv, encrypted.mac, encrypted.key)).rejects.toThrow("HMAC signature is not valid");
|
|
140
|
-
}));
|
|
141
|
-
it.each([
|
|
142
|
-
["data", 0],
|
|
143
|
-
["iv", 1],
|
|
144
|
-
["mac", 2],
|
|
145
|
-
["key", 3],
|
|
146
|
-
])("should throw an error if %s is not the correct type", (name, position) => __awaiter(void 0, void 0, void 0, function* () {
|
|
147
|
-
const dummyArg = new Uint8Array(32).fill(0);
|
|
148
|
-
for (const value of BAD_ARGS) {
|
|
149
|
-
const args = new Array(position).fill(dummyArg);
|
|
150
|
-
args.push(value);
|
|
151
|
-
yield expect(helper.aesDecrypt(...args)).rejects.toThrowError(`[${name}] is not of type`);
|
|
152
|
-
}
|
|
153
|
-
}));
|
|
154
|
-
});
|
|
155
|
-
describe("compare", () => {
|
|
156
|
-
it("should return false if arrays are different sizes", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
157
|
-
expect(yield helper.compare(new Uint8Array(32), new Uint8Array(16))).toBe(false);
|
|
158
|
-
}));
|
|
159
|
-
it("should return false if the hmac results are different sizes", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
160
|
-
let i = 0;
|
|
161
|
-
const mock = jest.spyOn(engine, "hmac").mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
162
|
-
return core.toArrayBuffer(new Uint8Array(++i * 16));
|
|
163
|
-
}));
|
|
164
|
-
const result = yield helper.compare(new Uint8Array(32), new Uint8Array(32));
|
|
165
|
-
mock.mockRestore();
|
|
166
|
-
yield expect(result).toBe(false);
|
|
167
|
-
}));
|
|
168
|
-
it("should return false if arrays are different", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
169
|
-
const mac1 = new Uint8Array(16).fill(0);
|
|
170
|
-
const mac2 = new Uint8Array(16).fill(0);
|
|
171
|
-
mac2.set([1], 15);
|
|
172
|
-
expect(yield helper.compare(mac1, mac2)).toBe(false);
|
|
173
|
-
}));
|
|
174
|
-
});
|
|
175
|
-
describe("makeKey", () => {
|
|
176
|
-
it.each([[undefined], [null], [""], [[1, 2, 3, 4, 5, 6]], [{}]])("should require a password (%o)", (param) => __awaiter(void 0, void 0, void 0, function* () {
|
|
177
|
-
yield expect(helper.makeKey(param, undefined)).rejects.toThrow("password");
|
|
178
|
-
}));
|
|
179
|
-
it.each([[undefined], [null], [""], [[1, 2, 3, 4, 5, 6]], [{}]])("should require an email (%o)", (param) => __awaiter(void 0, void 0, void 0, function* () {
|
|
180
|
-
yield expect(helper.makeKey("mypassword", param)).rejects.toThrow("email");
|
|
181
|
-
}));
|
|
182
|
-
});
|
|
183
|
-
describe("deviceId", () => {
|
|
184
|
-
it("should return undefined if the wallet has not been initialized", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
185
|
-
expect(yield helper.getDeviceId("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about")).toBe("40bdrat83JXH1jC8EnGPujqEtorp/J/ToNeAOoyMLPs=");
|
|
186
|
-
}));
|
|
187
|
-
it.each([[undefined], [null], [""], [[1, 2, 3, 4, 5, 6]], [{}]])("should throw an error if invalid data is provided (%o)", (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
188
|
-
yield expect(helper.getDeviceId(data)).rejects.toThrow("Invalid data");
|
|
189
|
-
}));
|
|
190
|
-
});
|
|
191
|
-
});
|
|
192
|
-
//# sourceMappingURL=CryptoHelper.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoHelper.test.js","sourceRoot":"","sources":["../../src/crypto/CryptoHelper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedWallet.test.d.ts","sourceRoot":"","sources":["../../src/crypto/EncryptedWallet.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
/**
|
|
32
|
-
* @jest-environment jsdom
|
|
33
|
-
*/
|
|
34
|
-
const webcrypto = __importStar(require("@peculiar/webcrypto"));
|
|
35
|
-
const EncryptedWallet_1 = require("./EncryptedWallet");
|
|
36
|
-
const engines_1 = require("./engines");
|
|
37
|
-
const PLAINTEXT_MNEMONIC = "boat garment fog other pony middle bronze ready grain betray load frame";
|
|
38
|
-
const ENCRYPTED_MNEMONIC = "2.Q1/C6FLg1MufcTAmEXEmQbuyPdjuXEGw3AP17sWhJ3Ws8Fcsl03XUDlC3zULVHY4+IU4lMtyjfnRNKlCF4Sy9OeUvS//i7JUCS6ieLAn5U8=|AAAAAAAAAAAAAAAAAAAAAA==|nuOb9GoiRhAkWRLLRqqDna05Jp03Botr3JF8A34SS3U=";
|
|
39
|
-
const PLAINTEXT_MNEMONIC2 = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
|
|
40
|
-
const ENCRYPTED_MNEMONIC2 = "2.1gm0swmYoZCc/T/U1aSGTsp0NgSQFtNT/N8U4nAgTWeJ28xpjlrGAjZwezW4vrwR8+TprSfaNCsh9lv1Nr19+/R3Ya2kj9obHhZZz1FL6qVY1dOdqfoaEWiqui54zlCb|AAAAAAAAAAAAAAAAAAAAAA==|R5969JYt8Y5CH55TFsafDVl8CXx8tv2ii2wjOMurdf4=";
|
|
41
|
-
const ENCRYPTED_EMPTY_STRING = "2.7wpUO5ISHHdT1voBnjzyXQ==|AAAAAAAAAAAAAAAAAAAAAA==|02KQ8aQWWXUX7foOmf4T2W0XCFAk4OTKFQO+hRhlRcY=";
|
|
42
|
-
describe("EncryptedWallet", () => {
|
|
43
|
-
// Load shim to support running tests in node
|
|
44
|
-
globalThis.crypto = new webcrypto.Crypto();
|
|
45
|
-
const engine = new engines_1.WebCryptoEngine();
|
|
46
|
-
describe("constructor", () => {
|
|
47
|
-
it("should be instantiated", () => {
|
|
48
|
-
expect(new EncryptedWallet_1.EncryptedWallet(engine)).toBeInstanceOf(EncryptedWallet_1.EncryptedWallet);
|
|
49
|
-
});
|
|
50
|
-
it("should require a crypto engine", () => {
|
|
51
|
-
expect(() => new EncryptedWallet_1.EncryptedWallet(undefined)).toThrow("Missing");
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
describe("init", () => {
|
|
55
|
-
it("should generate a password hash and encrypted mnemonic from a given email and password", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
57
|
-
const result = yield wallet.init("email", "password");
|
|
58
|
-
expect(result.email).toEqual("email");
|
|
59
|
-
expect(result.passwordHash).toEqual("W/7DR3sIqcb8lnLXD/ToTS+imBVMTyPR7JMend9hxrM=");
|
|
60
|
-
expect(result.encryptedWallet).toBeUndefined();
|
|
61
|
-
}));
|
|
62
|
-
it.each([[], [null], [[1, 2, 3]], ""])("should not generate a password hash and encrypted mnemonic if no password is provided (%p)", (pw) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
64
|
-
yield expect(wallet.init("email", pw)).rejects.toThrow("Invalid password");
|
|
65
|
-
}));
|
|
66
|
-
it.each([[], [null], [[1, 2, 3]], ""])("should not generate a password hash and encrypted mnemonic if no email is provided (%p)", (email) => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
68
|
-
yield expect(wallet.init(email, "password")).rejects.toThrow("Invalid email");
|
|
69
|
-
}));
|
|
70
|
-
});
|
|
71
|
-
describe("encryptedWallet", () => {
|
|
72
|
-
it("should allow settings the encrypted wallet string", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
74
|
-
yield wallet.init("email", "password");
|
|
75
|
-
wallet.encryptedWallet = ENCRYPTED_MNEMONIC;
|
|
76
|
-
expect(wallet.encryptedWallet).toEqual(ENCRYPTED_MNEMONIC);
|
|
77
|
-
}));
|
|
78
|
-
it("should throw an error", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
79
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
80
|
-
yield wallet.init("email", "password");
|
|
81
|
-
expect(() => (wallet.encryptedWallet = "")).toThrow("Invalid");
|
|
82
|
-
}));
|
|
83
|
-
});
|
|
84
|
-
describe("createWallet", () => {
|
|
85
|
-
it("should hash password on construction", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
86
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
87
|
-
yield wallet.init("email", "password");
|
|
88
|
-
expect(wallet.email).toEqual("email");
|
|
89
|
-
expect(wallet.passwordHash).toEqual("W/7DR3sIqcb8lnLXD/ToTS+imBVMTyPR7JMend9hxrM=");
|
|
90
|
-
}));
|
|
91
|
-
it("should create a new encrypted wallet", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
92
|
-
const randomMock = jest
|
|
93
|
-
.spyOn(global.crypto, "getRandomValues")
|
|
94
|
-
.mockImplementation((array) => array && new Uint8Array(array.byteLength).fill(0));
|
|
95
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
96
|
-
yield wallet.init("email", "password");
|
|
97
|
-
yield wallet.createWallet(PLAINTEXT_MNEMONIC2);
|
|
98
|
-
randomMock.mockRestore();
|
|
99
|
-
expect(wallet.encryptedWallet).toEqual(ENCRYPTED_MNEMONIC2);
|
|
100
|
-
}));
|
|
101
|
-
it("should throw an error if the mnemonic is invalid", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
|
-
const randomMock = jest.spyOn(require("bip39"), "validateMnemonic").mockReturnValue(false);
|
|
103
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
104
|
-
const result = yield wallet.init("email", "password");
|
|
105
|
-
yield expect(result.createWallet()).rejects.toThrow("Invalid mnemonic");
|
|
106
|
-
randomMock.mockRestore();
|
|
107
|
-
}));
|
|
108
|
-
it("should require the wallet to be initialized", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
109
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
110
|
-
yield expect(wallet.createWallet()).rejects.toThrow("not initialized");
|
|
111
|
-
}));
|
|
112
|
-
});
|
|
113
|
-
describe("decrypt", () => {
|
|
114
|
-
it.each([
|
|
115
|
-
[PLAINTEXT_MNEMONIC, ENCRYPTED_MNEMONIC],
|
|
116
|
-
[PLAINTEXT_MNEMONIC2, ENCRYPTED_MNEMONIC2],
|
|
117
|
-
])("should decrypt a wallet with seed (%s)", (PLAIN, ENCRYPTED) => __awaiter(void 0, void 0, void 0, function* () {
|
|
118
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
119
|
-
const result = yield wallet.init("email", "password", ENCRYPTED);
|
|
120
|
-
expect(yield result.decrypt()).toEqual(PLAIN);
|
|
121
|
-
}));
|
|
122
|
-
it("should require the wallet to be initialized", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
123
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
124
|
-
yield expect(wallet.decrypt()).rejects.toThrow("not initialized");
|
|
125
|
-
}));
|
|
126
|
-
it("should require that the wallet has an encrypted wallet", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
127
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
128
|
-
yield wallet.init("email", "password");
|
|
129
|
-
yield expect(wallet.decrypt()).rejects.toThrow("does not contain an encrypted wallet");
|
|
130
|
-
}));
|
|
131
|
-
it("should throw an error if the wallet cannot decrypt the wallet", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
133
|
-
yield wallet.init("email", "password2", ENCRYPTED_MNEMONIC);
|
|
134
|
-
yield expect(wallet.decrypt()).rejects.toThrow("signature is not valid");
|
|
135
|
-
}));
|
|
136
|
-
it("should throw an error if the decrypted mnemonic is the empty string", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
137
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
138
|
-
yield wallet.init("email", "password", ENCRYPTED_EMPTY_STRING);
|
|
139
|
-
yield expect(wallet.decrypt()).rejects.toThrow("Decryption failed");
|
|
140
|
-
}));
|
|
141
|
-
});
|
|
142
|
-
describe("deviceId", () => {
|
|
143
|
-
it("should return undefined if the wallet has not been initialized", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
144
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
145
|
-
expect(wallet.deviceId).toBeUndefined();
|
|
146
|
-
}));
|
|
147
|
-
it("should return undefined if the wallet has not been decrypted", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
148
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
149
|
-
yield wallet.init("email", "password", ENCRYPTED_MNEMONIC);
|
|
150
|
-
expect(wallet.deviceId).toBeUndefined();
|
|
151
|
-
}));
|
|
152
|
-
it("should return a base64 hash", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
153
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
154
|
-
yield wallet.init("email", "password", ENCRYPTED_MNEMONIC);
|
|
155
|
-
yield wallet.decrypt();
|
|
156
|
-
expect(wallet.deviceId).toBe("0SUnRnGkhCt0T5qk5YmK10v5u+lgHiMMu1R76uD7kHE=");
|
|
157
|
-
}));
|
|
158
|
-
});
|
|
159
|
-
describe("reset", () => {
|
|
160
|
-
it("should remove all private data from the object", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
161
|
-
const wallet = new EncryptedWallet_1.EncryptedWallet(engine);
|
|
162
|
-
const result = yield wallet.init("email", "password", ENCRYPTED_MNEMONIC);
|
|
163
|
-
result.reset();
|
|
164
|
-
expect(result.encryptedWallet).toBeUndefined();
|
|
165
|
-
expect(result.email).toBeUndefined();
|
|
166
|
-
expect(result.passwordHash).toBeUndefined();
|
|
167
|
-
}));
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
//# sourceMappingURL=EncryptedWallet.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedWallet.test.js","sourceRoot":"","sources":["../../src/crypto/EncryptedWallet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cipherString.test.d.ts","sourceRoot":"","sources":["../../../src/crypto/classes/cipherString.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const _1 = require(".");
|
|
4
|
-
describe("CipherString", () => {
|
|
5
|
-
it.each([undefined, null, 0, [1, 2, 3], { data: "", iv: "", key: "" }, "", "abc|abc|abc"])("should throw an error if an invalid cipher is provided (%s)", (cipher) => {
|
|
6
|
-
expect(() => new _1.CipherString(cipher)).toThrow("Invalid cipher");
|
|
7
|
-
});
|
|
8
|
-
it("should throw an error if an invalid encryption type is specified", () => {
|
|
9
|
-
const string = "999.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=|AAAAAAAAAAAAAAAAAAAAAA==|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
|
10
|
-
expect(() => new _1.CipherString(string)).toThrow("Unsupported encryption method");
|
|
11
|
-
});
|
|
12
|
-
it("should accept a properly formatted cipher string", () => {
|
|
13
|
-
const string = new _1.CipherString("2.AAAA|AAAA|AAAA");
|
|
14
|
-
expect(string.encryptionType).toEqual(2);
|
|
15
|
-
expect(string.data).toEqual("AAAA");
|
|
16
|
-
expect(string.iv).toEqual("AAAA");
|
|
17
|
-
expect(string.mac).toEqual("AAAA");
|
|
18
|
-
expect(string.encryptedString).toEqual("2.AAAA|AAAA|AAAA");
|
|
19
|
-
});
|
|
20
|
-
it("should accept an EncryptedObject", () => {
|
|
21
|
-
const buffer32 = new Uint8Array(32).fill(0);
|
|
22
|
-
const buffer16 = new Uint8Array(16).fill(0);
|
|
23
|
-
const encrypted = new _1.EncryptedObject({
|
|
24
|
-
data: buffer32,
|
|
25
|
-
iv: buffer16,
|
|
26
|
-
mac: buffer32,
|
|
27
|
-
key: new _1.SymmetricCryptoKey(buffer32, buffer32, buffer32),
|
|
28
|
-
});
|
|
29
|
-
const string = new _1.CipherString(encrypted);
|
|
30
|
-
expect(string.encryptionType).toEqual(_1.EncryptionType.AesCbc256_HmacSha256_B64);
|
|
31
|
-
expect(string.data).toEqual("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=");
|
|
32
|
-
expect(string.iv).toEqual("AAAAAAAAAAAAAAAAAAAAAA==");
|
|
33
|
-
expect(string.mac).toEqual("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=");
|
|
34
|
-
expect(string.encryptedString).toEqual("2.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=|AAAAAAAAAAAAAAAAAAAAAA==|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=");
|
|
35
|
-
});
|
|
36
|
-
it.each([
|
|
37
|
-
["key", "Invalid encryption object"],
|
|
38
|
-
["data", "Encrypted data is missing"],
|
|
39
|
-
["iv", "IV is missing"],
|
|
40
|
-
["mac", "HMAC signature is missing"],
|
|
41
|
-
])("should throw an error if an EncryptedObject with a missing %s is provided", (key, error) => {
|
|
42
|
-
const buffer32 = new Uint8Array(32).fill(0);
|
|
43
|
-
const buffer16 = new Uint8Array(16).fill(0);
|
|
44
|
-
const encrypted = new _1.EncryptedObject({
|
|
45
|
-
data: buffer32,
|
|
46
|
-
iv: buffer16,
|
|
47
|
-
mac: buffer32,
|
|
48
|
-
key: new _1.SymmetricCryptoKey(buffer32, buffer32, buffer32),
|
|
49
|
-
});
|
|
50
|
-
delete encrypted[key];
|
|
51
|
-
expect(() => new _1.CipherString(encrypted)).toThrow(error);
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
//# sourceMappingURL=cipherString.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cipherString.test.js","sourceRoot":"","sources":["../../../src/crypto/classes/cipherString.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"symmetricCryptoKey.test.d.ts","sourceRoot":"","sources":["../../../src/crypto/classes/symmetricCryptoKey.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const encryptionType_1 = require("./encryptionType");
|
|
4
|
-
const symmetricCryptoKey_1 = require("./symmetricCryptoKey");
|
|
5
|
-
describe("symmetricCryptoKey", () => {
|
|
6
|
-
const key = new Uint8Array(32).fill(64);
|
|
7
|
-
const encKey = new Uint8Array(32).fill(128);
|
|
8
|
-
const macKey = new Uint8Array(32).fill(255);
|
|
9
|
-
const key64 = new Uint8Array(64);
|
|
10
|
-
key64.set(encKey, 0);
|
|
11
|
-
key64.set(macKey, 32);
|
|
12
|
-
it.each([
|
|
13
|
-
["key", []],
|
|
14
|
-
["encKey", [encKey]],
|
|
15
|
-
["macKey", [encKey, encKey]],
|
|
16
|
-
])("should require a parameter %s", (name, params) => {
|
|
17
|
-
expect(() => new symmetricCryptoKey_1.SymmetricCryptoKey(...params)).toThrow("Required parameter");
|
|
18
|
-
});
|
|
19
|
-
it.each([
|
|
20
|
-
["key", [key64, encKey, macKey]],
|
|
21
|
-
["encKey", [key, key64, macKey]],
|
|
22
|
-
["macKey", [key, encKey, key64]],
|
|
23
|
-
])("should throw an error if %s is not 32 bytes", (name, params) => {
|
|
24
|
-
expect(() => new symmetricCryptoKey_1.SymmetricCryptoKey(...params)).toThrow("Keys must be 32 bytes");
|
|
25
|
-
});
|
|
26
|
-
it("should return an instance", () => {
|
|
27
|
-
const instance = new symmetricCryptoKey_1.SymmetricCryptoKey(key, encKey, macKey);
|
|
28
|
-
expect(instance.hashKey).toEqual(key);
|
|
29
|
-
expect(instance.encKey).toEqual(encKey);
|
|
30
|
-
expect(instance.macKey).toEqual(macKey);
|
|
31
|
-
expect(instance.encType).toBe(encryptionType_1.EncryptionType.AesCbc256_HmacSha256_B64);
|
|
32
|
-
});
|
|
33
|
-
it("should provide keys in base64 format", () => {
|
|
34
|
-
const instance = new symmetricCryptoKey_1.SymmetricCryptoKey(key, encKey, macKey);
|
|
35
|
-
expect(instance.hashKeyB64).toEqual("QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEA=");
|
|
36
|
-
expect(instance.encKeyB64).toEqual("gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA=");
|
|
37
|
-
expect(instance.macKeyB64).toEqual("//////////////////////////////////////////8=");
|
|
38
|
-
expect(instance.encType).toBe(encryptionType_1.EncryptionType.AesCbc256_HmacSha256_B64);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
//# sourceMappingURL=symmetricCryptoKey.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"symmetricCryptoKey.test.js","sourceRoot":"","sources":["../../../src/crypto/classes/symmetricCryptoKey.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-crypto.test.d.ts","sourceRoot":"","sources":["../../../src/crypto/engines/web-crypto.test.ts"],"names":[],"mappings":""}
|