@sudoplatform/sudo-common 8.7.0 → 8.8.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.
- package/cjs/sudoKeyArchive/keyArchive.js +31 -3
- package/cjs/sudoKeyArchive/keyArchive.js.map +1 -1
- package/cjs/sudoKeyArchive/keyInfo.js +8 -2
- package/cjs/sudoKeyArchive/keyInfo.js.map +1 -1
- package/cjs/sudoKeyArchive/sudoKeyArchive.js +88 -32
- package/cjs/sudoKeyArchive/sudoKeyArchive.js.map +1 -1
- package/cjs/sudoKeyManager/sudoKeyManager.js +14 -8
- package/cjs/sudoKeyManager/sudoKeyManager.js.map +1 -1
- package/lib/sudoKeyArchive/keyArchive.js +29 -2
- package/lib/sudoKeyArchive/keyArchive.js.map +1 -1
- package/lib/sudoKeyArchive/keyInfo.js +8 -2
- package/lib/sudoKeyArchive/keyInfo.js.map +1 -1
- package/lib/sudoKeyArchive/sudoKeyArchive.js +88 -31
- package/lib/sudoKeyArchive/sudoKeyArchive.js.map +1 -1
- package/lib/sudoKeyManager/sudoKeyManager.js +14 -8
- package/lib/sudoKeyManager/sudoKeyManager.js.map +1 -1
- package/package.json +22 -34
- package/types/sudoKeyArchive/keyArchive.d.ts +45 -6
- package/types/sudoKeyArchive/keyInfo.d.ts +8 -6
- package/types/sudoKeyArchive/sudoKeyArchive.d.ts +8 -10
- package/types/sudoKeyManager/sudoKeyManager.d.ts +14 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.isUnrecognizedKeyArchive = exports.isInsecureKeyArchive = exports.isSecureKeyArchive = exports.KeyArchiveCodec = exports.SecureKeyArchiveCodec = exports.UnrecognizedKeyArchiveCodec = exports.SecureKeyArchiveType = exports.InsecureKeyArchiveCodec = exports.InsecureKeyArchiveType = exports.CURRENT_ARCHIVE_VERSION = exports.PREGZIP_ARCHIVE_VERSION = void 0;
|
|
8
|
+
exports.isUnrecognizedKeyArchive = exports.isInsecureKeyArchiveV2 = exports.isInsecureKeyArchive = exports.isSecureKeyArchive = exports.KeyArchiveCodec = exports.SecureKeyArchiveCodec = exports.UnrecognizedKeyArchiveCodec = exports.InsecureKeyArchiveV2Codec = exports.SecureKeyArchiveType = exports.InsecureKeyArchiveCodec = exports.InsecureKeyArchiveType = exports.CURRENT_ARCHIVE_VERSION = exports.PREGZIP_ARCHIVE_VERSION = void 0;
|
|
9
9
|
const tslib_1 = require("tslib");
|
|
10
10
|
const t = tslib_1.__importStar(require("io-ts"));
|
|
11
11
|
const keyInfo_1 = require("./keyInfo");
|
|
@@ -66,6 +66,25 @@ const SecureKeyArchiveRequiredProps = {
|
|
|
66
66
|
*/
|
|
67
67
|
IV: t.string,
|
|
68
68
|
};
|
|
69
|
+
const InsecureKeyArchiveV2RequiredProps = {
|
|
70
|
+
...CommonKeyArchiveRequiredProps,
|
|
71
|
+
/**
|
|
72
|
+
* Archive type.
|
|
73
|
+
*/
|
|
74
|
+
Type: t.union([
|
|
75
|
+
t.literal(exports.InsecureKeyArchiveType),
|
|
76
|
+
t.literal(exports.SecureKeyArchiveType),
|
|
77
|
+
]),
|
|
78
|
+
/**
|
|
79
|
+
* Base64 encoded exported keys.
|
|
80
|
+
*/
|
|
81
|
+
Keys: t.string,
|
|
82
|
+
};
|
|
83
|
+
// Existing V2 insecure key archives produced by iOS and Android
|
|
84
|
+
// has a different structure to V3 insecure key archive so we
|
|
85
|
+
// need a separate type and codec to process those. This is an
|
|
86
|
+
// incompatibility in addition to V3 archives being zipped.
|
|
87
|
+
exports.InsecureKeyArchiveV2Codec = t.type(InsecureKeyArchiveV2RequiredProps, 'InsecureKeyArchiveV2');
|
|
69
88
|
const UnrecognizedKeyArchiveProps = {
|
|
70
89
|
Version: t.number,
|
|
71
90
|
Type: t.string,
|
|
@@ -75,6 +94,7 @@ exports.SecureKeyArchiveCodec = t.type(SecureKeyArchiveRequiredProps, 'SecureKey
|
|
|
75
94
|
exports.KeyArchiveCodec = t.union([
|
|
76
95
|
exports.SecureKeyArchiveCodec,
|
|
77
96
|
exports.InsecureKeyArchiveCodec,
|
|
97
|
+
exports.InsecureKeyArchiveV2Codec,
|
|
78
98
|
// Leave UnrecognizedKeyArchiveCodec last so it's tried last
|
|
79
99
|
exports.UnrecognizedKeyArchiveCodec,
|
|
80
100
|
], 'KeyArchive');
|
|
@@ -83,11 +103,19 @@ function isSecureKeyArchive(keyArchive) {
|
|
|
83
103
|
}
|
|
84
104
|
exports.isSecureKeyArchive = isSecureKeyArchive;
|
|
85
105
|
function isInsecureKeyArchive(keyArchive) {
|
|
86
|
-
return keyArchive.Type === exports.InsecureKeyArchiveType
|
|
106
|
+
return (keyArchive.Type === exports.InsecureKeyArchiveType &&
|
|
107
|
+
keyArchive.Version !== exports.PREGZIP_ARCHIVE_VERSION);
|
|
87
108
|
}
|
|
88
109
|
exports.isInsecureKeyArchive = isInsecureKeyArchive;
|
|
110
|
+
function isInsecureKeyArchiveV2(keyArchive) {
|
|
111
|
+
return (keyArchive.Type === exports.InsecureKeyArchiveType &&
|
|
112
|
+
keyArchive.Version === exports.PREGZIP_ARCHIVE_VERSION);
|
|
113
|
+
}
|
|
114
|
+
exports.isInsecureKeyArchiveV2 = isInsecureKeyArchiveV2;
|
|
89
115
|
function isUnrecognizedKeyArchive(keyArchive) {
|
|
90
|
-
return !isSecureKeyArchive(keyArchive) &&
|
|
116
|
+
return (!isSecureKeyArchive(keyArchive) &&
|
|
117
|
+
!isInsecureKeyArchive(keyArchive) &&
|
|
118
|
+
!isInsecureKeyArchiveV2(keyArchive));
|
|
91
119
|
}
|
|
92
120
|
exports.isUnrecognizedKeyArchive = isUnrecognizedKeyArchive;
|
|
93
121
|
//# sourceMappingURL=keyArchive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/keyArchive.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,iDAA0B;AAC1B,uCAAkD;AAErC,QAAA,uBAAuB,GAAG,CAAC,CAAA;AAC3B,QAAA,uBAAuB,GAAG,CAAC,CAAA;AAExC,MAAM,6BAA6B,GAAG;IACpC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;QACf,CAAC,CAAC,OAAO,CAAC,+BAAuB,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC,+BAAuB,CAAC;KACnC,CAAC;IAEF;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;CACvC,CAAA;AAEY,QAAA,sBAAsB,GAAG,UAAU,CAAA;AAEhD,MAAM,+BAA+B,GAAG;IACtC,GAAG,6BAA6B;IAChC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,8BAAsB,CAAC;IAEvC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,gCAAsB,CAAC;CACtC,CAAA;AAEY,QAAA,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAC3C,+BAA+B,EAC/B,oBAAoB,CACrB,CAAA;AAIY,QAAA,oBAAoB,GAAG,QAAQ,CAAA;AAE5C,MAAM,6BAA6B,GAAG;IACpC,GAAG,6BAA6B;IAChC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;IAErC;;;;;;;OAOG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM;IAEd;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM;IAEhB;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM;IAEd;;OAEG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM;CACb,CAAA;AAED,MAAM,2BAA2B,GAAG;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM;CACf,CAAA;AAEY,QAAA,2BAA2B,GAAG,CAAC,CAAC,OAAO,CAClD,2BAA2B,CAC5B,CAAA;AAKY,QAAA,qBAAqB,GAAG,CAAC,CAAC,IAAI,CACzC,6BAA6B,EAC7B,kBAAkB,CACnB,CAAA;AAGY,QAAA,eAAe,GAAG,CAAC,CAAC,KAAK,CACpC;IACE,6BAAqB;IACrB,+BAAuB;
|
|
1
|
+
{"version":3,"file":"keyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/keyArchive.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,15 @@ const KeyArchiveKeyInfoRequiredProps = {
|
|
|
14
14
|
Type: keyType_1.KeyArchiveKeyTypeCodec,
|
|
15
15
|
Data: t.string,
|
|
16
16
|
Synchronizable: t.boolean,
|
|
17
|
-
Exportable: t.boolean,
|
|
18
17
|
NameSpace: t.string,
|
|
19
18
|
};
|
|
20
|
-
|
|
19
|
+
const KeyArchiveKeyInfoOptionalProps = {
|
|
20
|
+
Exportable: t.boolean,
|
|
21
|
+
};
|
|
22
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
23
|
+
exports.KeyArchiveKeyInfoCodec = t.intersection([
|
|
24
|
+
t.type(KeyArchiveKeyInfoRequiredProps),
|
|
25
|
+
t.partial(KeyArchiveKeyInfoOptionalProps),
|
|
26
|
+
], 'KeyArchiveKeyInfo');
|
|
21
27
|
exports.KeyArchiveKeyInfoArrayCodec = t.array(exports.KeyArchiveKeyInfoCodec, 'KeyArchiveKeyInfoArray');
|
|
22
28
|
//# sourceMappingURL=keyInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyInfo.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/keyInfo.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,iDAA0B;AAE1B,uCAAkD;AAElD,MAAM,8BAA8B,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,IAAI,EAAE,gCAAsB;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,cAAc,EAAE,CAAC,CAAC,OAAO;IACzB,
|
|
1
|
+
{"version":3,"file":"keyInfo.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/keyInfo.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,iDAA0B;AAE1B,uCAAkD;AAElD,MAAM,8BAA8B,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,IAAI,EAAE,gCAAsB;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,cAAc,EAAE,CAAC,CAAC,OAAO;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM;CACpB,CAAA;AAED,MAAM,8BAA8B,GAAG;IACrC,UAAU,EAAE,CAAC,CAAC,OAAO;CACtB,CAAA;AAED,0EAA0E;AAC7D,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAClD;IACE,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC;CAC1C,EACD,mBAAmB,CACpB,CAAA;AAEY,QAAA,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAChD,8BAAsB,EACtB,wBAAwB,CACzB,CAAA"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.keyArchiveKeyTypeFromKeyDataKeyType = exports.
|
|
8
|
+
exports.keyArchiveKeyTypeFromKeyDataKeyType = exports.DefaultSudoKeyArchive = void 0;
|
|
9
9
|
const fflate_1 = require("fflate");
|
|
10
10
|
const Either_1 = require("fp-ts/lib/Either");
|
|
11
11
|
const error_1 = require("../errors/error");
|
|
@@ -40,8 +40,9 @@ class DefaultSudoKeyArchive {
|
|
|
40
40
|
* Meta information to include with the key archive
|
|
41
41
|
*
|
|
42
42
|
* @param zip
|
|
43
|
-
*
|
|
44
|
-
*
|
|
43
|
+
* If the archive is created for importing keys, it specifies whether the provided data is
|
|
44
|
+
* zipped. If the archive is created for exporting keys, specifies whether the output should
|
|
45
|
+
* be zipped.
|
|
45
46
|
*
|
|
46
47
|
* @throws {@link IllegalArgumentError}
|
|
47
48
|
* If no key managers are provided
|
|
@@ -97,6 +98,7 @@ class DefaultSudoKeyArchive {
|
|
|
97
98
|
this.metaInfo.set(key, value);
|
|
98
99
|
}
|
|
99
100
|
}
|
|
101
|
+
this.zip = options?.zip ?? true;
|
|
100
102
|
}
|
|
101
103
|
/**
|
|
102
104
|
* Reads the binary data and converts it to JSON and then deserialises it
|
|
@@ -143,11 +145,38 @@ class DefaultSudoKeyArchive {
|
|
|
143
145
|
}
|
|
144
146
|
return keyArchive;
|
|
145
147
|
}
|
|
148
|
+
keyArchiveInfoFromKeyData(keyData) {
|
|
149
|
+
let rawKey = keyData.data;
|
|
150
|
+
// If we are not using compression then we are creating v2
|
|
151
|
+
// archive. We need to perform some key format conversion
|
|
152
|
+
// in order ensure interoperability with other platforms.
|
|
153
|
+
if (!this.zip) {
|
|
154
|
+
switch (keyData.type) {
|
|
155
|
+
case sudoKeyManager_1.KeyDataKeyType.RSAPrivateKey:
|
|
156
|
+
rawKey = Object.values(this.keyManagers)[0].privateKeyInfoToRSAPrivateKey(keyData.data);
|
|
157
|
+
break;
|
|
158
|
+
case sudoKeyManager_1.KeyDataKeyType.RSAPublicKey:
|
|
159
|
+
rawKey = Object.values(this.keyManagers)[0].publicKeyInfoToRSAPublicKey(keyData.data);
|
|
160
|
+
break;
|
|
161
|
+
default:
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
NameSpace: keyData.namespace,
|
|
167
|
+
Name: keyData.name,
|
|
168
|
+
Type: keyArchiveKeyTypeFromKeyDataKeyType(keyData.type),
|
|
169
|
+
Data: base64_1.Base64.encode(rawKey),
|
|
170
|
+
Decoded: keyData.data,
|
|
171
|
+
Synchronizable: false,
|
|
172
|
+
Exportable: true,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
146
175
|
async loadKeys() {
|
|
147
176
|
for (const keyManager of Object.values(this.keyManagers)) {
|
|
148
177
|
await keyManager.exportKeys().then((exported) => {
|
|
149
178
|
exported.forEach((data) => {
|
|
150
|
-
const keyArchiveInfoDecoded = keyArchiveInfoFromKeyData(data);
|
|
179
|
+
const keyArchiveInfoDecoded = this.keyArchiveInfoFromKeyData(data);
|
|
151
180
|
if (!this.excludedKeyTypes.has(keyArchiveInfoDecoded.Type) &&
|
|
152
181
|
!this.excludedKeys.has(data.name)) {
|
|
153
182
|
this.keys.set(`${keyArchiveInfoDecoded.NameSpace}:${keyArchiveInfoDecoded.Type}:${keyArchiveInfoDecoded.Name}`, keyArchiveInfoDecoded);
|
|
@@ -171,10 +200,20 @@ class DefaultSudoKeyArchive {
|
|
|
171
200
|
await keyManager.addPassword(keyData, info.Name);
|
|
172
201
|
break;
|
|
173
202
|
case keyType_1.KeyArchiveKeyType.PrivateKey:
|
|
174
|
-
|
|
203
|
+
if (this.keyArchive?.Version === keyArchive_1.PREGZIP_ARCHIVE_VERSION) {
|
|
204
|
+
await keyManager.importPrivateKeyFromRSAPrivateKey(info.Name, keyData);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
await keyManager.addPrivateKey(keyData, info.Name);
|
|
208
|
+
}
|
|
175
209
|
break;
|
|
176
210
|
case keyType_1.KeyArchiveKeyType.PublicKey:
|
|
177
|
-
|
|
211
|
+
if (this.keyArchive?.Version === keyArchive_1.PREGZIP_ARCHIVE_VERSION) {
|
|
212
|
+
await keyManager.importPublicKeyFromRSAPublicKey(info.Name, keyData);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
await keyManager.addPublicKey(keyData, info.Name);
|
|
216
|
+
}
|
|
178
217
|
break;
|
|
179
218
|
case keyType_1.KeyArchiveKeyType.SymmetricKey:
|
|
180
219
|
await keyManager.addSymmetricKey(keyData, info.Name);
|
|
@@ -184,7 +223,7 @@ class DefaultSudoKeyArchive {
|
|
|
184
223
|
}
|
|
185
224
|
}
|
|
186
225
|
}
|
|
187
|
-
async archive(password
|
|
226
|
+
async archive(password) {
|
|
188
227
|
const keys = [];
|
|
189
228
|
for (const key of this.keys.values()) {
|
|
190
229
|
keys.push({
|
|
@@ -198,15 +237,27 @@ class DefaultSudoKeyArchive {
|
|
|
198
237
|
}
|
|
199
238
|
let keyArchive;
|
|
200
239
|
if (!password) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
: DefaultSudoKeyArchive.
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
240
|
+
if (this.zip) {
|
|
241
|
+
// Zipped archive is only supported by V3 archive.
|
|
242
|
+
const insecureKeyArchive = {
|
|
243
|
+
Type: 'Insecure',
|
|
244
|
+
MetaInfo: {},
|
|
245
|
+
Version: DefaultSudoKeyArchive.CURRENT_ARCHIVE_VERSION,
|
|
246
|
+
Keys: keys,
|
|
247
|
+
};
|
|
248
|
+
keyArchive = insecureKeyArchive;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
// Need this for backward compatibility and interoperability
|
|
252
|
+
// since other platforms only support V2 archive.
|
|
253
|
+
const insecureKeyArchive = {
|
|
254
|
+
Type: 'Insecure',
|
|
255
|
+
MetaInfo: {},
|
|
256
|
+
Version: DefaultSudoKeyArchive.PREGZIP_ARCHIVE_VERSION,
|
|
257
|
+
Keys: base64_1.Base64.encode(new TextEncoder().encode(JSON.stringify(keys))),
|
|
258
|
+
};
|
|
259
|
+
keyArchive = insecureKeyArchive;
|
|
260
|
+
}
|
|
210
261
|
}
|
|
211
262
|
else {
|
|
212
263
|
const salt = await this.defaultKeyManager.generateRandomData(sudoCryptoProvider_1.SudoCryptoProviderDefaults.pbkdfSaltSize);
|
|
@@ -223,7 +274,7 @@ class DefaultSudoKeyArchive {
|
|
|
223
274
|
const encryptedKeys = await this.defaultKeyManager.encryptWithSymmetricKey(key, compressedSerializedKeys, { iv });
|
|
224
275
|
const secureKeyArchive = {
|
|
225
276
|
Type: 'Secure',
|
|
226
|
-
Version: zip
|
|
277
|
+
Version: this.zip
|
|
227
278
|
? DefaultSudoKeyArchive.CURRENT_ARCHIVE_VERSION
|
|
228
279
|
: DefaultSudoKeyArchive.PREGZIP_ARCHIVE_VERSION,
|
|
229
280
|
MetaInfo: {},
|
|
@@ -244,7 +295,7 @@ class DefaultSudoKeyArchive {
|
|
|
244
295
|
// we would end up having a fully binary data structure for the archive.
|
|
245
296
|
// If the time to compute becomes prohibitive we can look at a binary, non-JSON
|
|
246
297
|
// base format for the archive.
|
|
247
|
-
return zip
|
|
298
|
+
return this.zip
|
|
248
299
|
? (0, fflate_1.gzipSync)(archiveData, {
|
|
249
300
|
level: 9,
|
|
250
301
|
})
|
|
@@ -280,7 +331,9 @@ class DefaultSudoKeyArchive {
|
|
|
280
331
|
throw new error_1.KeyArchiveIncorrectPasswordError();
|
|
281
332
|
}
|
|
282
333
|
try {
|
|
283
|
-
const serializedKeys =
|
|
334
|
+
const serializedKeys = this.keyArchive.Version === keyArchive_1.PREGZIP_ARCHIVE_VERSION
|
|
335
|
+
? compressedSerializedKeys
|
|
336
|
+
: (0, fflate_1.gunzipSync)(new Uint8Array(compressedSerializedKeys));
|
|
284
337
|
const decoded = keyInfo_1.KeyArchiveKeyInfoArrayCodec.decode(JSON.parse(buffer_1.Buffer.toString(serializedKeys)));
|
|
285
338
|
if ((0, Either_1.isLeft)(decoded)) {
|
|
286
339
|
throw new error_1.KeyArchiveDecodingError();
|
|
@@ -291,12 +344,27 @@ class DefaultSudoKeyArchive {
|
|
|
291
344
|
throw new error_1.KeyArchiveDecodingError();
|
|
292
345
|
}
|
|
293
346
|
}
|
|
294
|
-
else {
|
|
347
|
+
else if ((0, keyArchive_1.isInsecureKeyArchive)(this.keyArchive)) {
|
|
295
348
|
if (password) {
|
|
296
349
|
throw new error_1.KeyArchiveNoPasswordRequiredError();
|
|
297
350
|
}
|
|
298
351
|
keys = this.keyArchive.Keys;
|
|
299
352
|
}
|
|
353
|
+
else {
|
|
354
|
+
// Process V2 insecure key archive. V2 archive's `Keys` attribute
|
|
355
|
+
// is always base64 encoded string.
|
|
356
|
+
const serializedKeys = base64_1.Base64.decode(this.keyArchive.Keys);
|
|
357
|
+
try {
|
|
358
|
+
const decoded = keyInfo_1.KeyArchiveKeyInfoArrayCodec.decode(JSON.parse(buffer_1.Buffer.toString(serializedKeys)));
|
|
359
|
+
if ((0, Either_1.isLeft)(decoded)) {
|
|
360
|
+
throw new error_1.KeyArchiveDecodingError();
|
|
361
|
+
}
|
|
362
|
+
keys = decoded.right;
|
|
363
|
+
}
|
|
364
|
+
catch (err) {
|
|
365
|
+
throw new error_1.KeyArchiveDecodingError();
|
|
366
|
+
}
|
|
367
|
+
}
|
|
300
368
|
keys.forEach((key) => {
|
|
301
369
|
const keyKey = `${key.NameSpace}:${key.Type}:${key.Name}`;
|
|
302
370
|
let decoded;
|
|
@@ -367,18 +435,6 @@ DefaultSudoKeyArchive.PREGZIP_ARCHIVE_VERSION = keyArchive_1.PREGZIP_ARCHIVE_VER
|
|
|
367
435
|
* salted with SecureKeyArchive.Salt.
|
|
368
436
|
*/
|
|
369
437
|
DefaultSudoKeyArchive.CURRENT_ARCHIVE_VERSION = keyArchive_1.CURRENT_ARCHIVE_VERSION;
|
|
370
|
-
function keyArchiveInfoFromKeyData(keyData) {
|
|
371
|
-
return {
|
|
372
|
-
NameSpace: keyData.namespace,
|
|
373
|
-
Name: keyData.name,
|
|
374
|
-
Type: keyArchiveKeyTypeFromKeyDataKeyType(keyData.type),
|
|
375
|
-
Data: base64_1.Base64.encode(keyData.data),
|
|
376
|
-
Decoded: keyData.data,
|
|
377
|
-
Synchronizable: false,
|
|
378
|
-
Exportable: true,
|
|
379
|
-
};
|
|
380
|
-
}
|
|
381
|
-
exports.keyArchiveInfoFromKeyData = keyArchiveInfoFromKeyData;
|
|
382
438
|
function keyArchiveKeyTypeFromKeyDataKeyType(keyDataKeyType) {
|
|
383
439
|
switch (keyDataKeyType) {
|
|
384
440
|
case sudoKeyManager_1.KeyDataKeyType.Password:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sudoKeyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/sudoKeyArchive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sudoKeyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/sudoKeyArchive.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,mCAA6C;AAC7C,6CAAyC;AAEzC,2CAWwB;AACxB,sDAA2D;AAC3D,6EAAiF;AAEjF,4CAAwC;AACxC,4CAAsD;AACtD,6CAaqB;AACrB,uCAA0E;AAC1E,uCAA6C;AAkG7C,MAAa,qBAAqB;IAwDhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,YACE,WAA8C,EAC9C,OAMC;QAtEc,gBAAW,GAAmC,EAAE,CAAA;QAMhD,iBAAY,GAAgB,IAAI,GAAG,EAAU,CAAA;QAC7C,qBAAgB,GAC/B,IAAI,GAAG,EAAqB,CAAA;QACb,aAAQ,GAAwB,IAAI,GAAG,EAAkB,CAAA;QAEzD,SAAI,GAA0C,IAAI,GAAG,EAGnE,CAAA;QA0DD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,MAAM,IAAI,4BAAoB,CAAC,uCAAuC,CAAC,CAAA;aACxE;YAED,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACjC,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBAC1C,MAAM,IAAI,4BAAoB,CAC5B,iDAAiD,UAAU,CAAC,SAAS,EAAE,CACxE,CAAA;iBACF;gBACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAA;YACrD,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;SACxC;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,WAAW,CAAA;YACrD,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAA;SACrC;QAED,IAAI,OAAO,EAAE,WAAW,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;SACrE;QAED,4DAA4D;QAC5D,IAAI,OAAO,EAAE,YAAY,EAAE;YACzB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CACnC,CAAA;SACF;QAED,IAAI,OAAO,EAAE,gBAAgB,EAAE;YAC7B,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE,CACpD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAC3C,CAAA;SACF;QAED,IAAI,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;gBACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;aAC9B;SACF;QAED,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,CAAA;IACjC,CAAC;IAED;;;OAGG;IACK,WAAW,CACjB,WAAwB,EACxB,MAAe,IAAI;QAEnB,IAAI,QAAqB,CAAA;QAEzB,IAAI;YACF,IAAI,GAAG,EAAE;gBACP,QAAQ,GAAG,IAAA,mBAAU,EAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;aACnD;iBAAM;gBACL,QAAQ,GAAG,WAAW,CAAA;aACvB;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,+BAAuB,EAAE,CAAA;SACpC;QAED,IAAI,UAAsB,CAAA;QAC1B,IAAI;YACF,MAAM,OAAO,GAAG,4BAAe,CAAC,MAAM,CACpC,IAAI,CAAC,KAAK,CAAC,eAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC1C,CAAA;YACD,IAAI,IAAA,eAAM,EAAC,OAAO,CAAC,EAAE;gBACnB,MAAM,IAAI,+BAAuB,EAAE,CAAA;aACpC;YACD,UAAU,GAAG,OAAO,CAAC,KAAK,CAAA;SAC3B;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,+BAAuB,EAAE,CAAA;SACpC;QACD,IAAI,IAAA,qCAAwB,EAAC,UAAU,CAAC,EAAE;YACxC,IACE,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,IAAI,KAAK,iCAAoB;gBACxC,UAAU,CAAC,IAAI,KAAK,mCAAsB,EAC1C;gBACA,MAAM,IAAI,2BAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;aAC/C;YAED,yFAAyF;YACzF,WAAW;YACX,IACE,UAAU,CAAC,OAAO,KAAK,SAAS;gBAChC,UAAU,CAAC,OAAO,KAAK,qBAAqB,CAAC,uBAAuB;gBACpE,UAAU,CAAC,OAAO,KAAK,qBAAqB,CAAC,uBAAuB,EACpE;gBACA,MAAM,IAAI,8BAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;aACrD;YAED,MAAM,IAAI,+BAAuB,EAAE,CAAA;SACpC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,yBAAyB,CAC/B,OAAgB;QAEhB,IAAI,MAAM,GAAgB,OAAO,CAAC,IAAI,CAAA;QACtC,0DAA0D;QAC1D,yDAAyD;QACzD,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,QAAQ,OAAO,CAAC,IAAI,EAAE;gBACpB,KAAK,+BAAc,CAAC,aAAa;oBAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,CACpB,IAAI,CAAC,WAAW,CACjB,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBAChD,MAAK;gBACP,KAAK,+BAAc,CAAC,YAAY;oBAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CACpB,IAAI,CAAC,WAAW,CACjB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBAC9C,MAAK;gBACP;oBACE,MAAK;aACR;SACF;QAED,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,mCAAmC,CAAC,OAAO,CAAC,IAAI,CAAC;YACvD,IAAI,EAAE,eAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,IAAI;SACjB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACxD,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAA;oBAClE,IACE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC;wBACtD,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EACjC;wBACA,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,qBAAqB,CAAC,SAAS,IAAI,qBAAqB,CAAC,IAAI,IAAI,qBAAqB,CAAC,IAAI,EAAE,EAChG,qBAAqB,CACtB,CAAA;qBACF;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;SACH;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnD,IAAI,CAAC,UAAU;gBAAE,SAAQ;YACzB,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAClD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;YAC5B,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,2BAAiB,CAAC,QAAQ;oBAC7B,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBAChD,MAAK;gBACP,KAAK,2BAAiB,CAAC,UAAU;oBAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,oCAAuB,EAAE;wBACxD,MAAM,UAAU,CAAC,iCAAiC,CAChD,IAAI,CAAC,IAAI,EACT,OAAO,CACR,CAAA;qBACF;yBAAM;wBACL,MAAM,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;qBACnD;oBACD,MAAK;gBACP,KAAK,2BAAiB,CAAC,SAAS;oBAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,oCAAuB,EAAE;wBACxD,MAAM,UAAU,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;qBACrE;yBAAM;wBACL,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;qBAClD;oBACD,MAAK;gBACP,KAAK,2BAAiB,CAAC,YAAY;oBACjC,MAAM,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBACpD,MAAK;gBACP;oBACE,MAAM,IAAI,qCAA6B,CACrC,wBAAwB,IAAI,CAAC,IAAc,oBAAoB,CAChE,CAAA;aACJ;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAiC;QAC7C,MAAM,IAAI,GAAwB,EAAE,CAAA;QACpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC;gBACR,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAA;SACH;QAED,IAAI,UAAwE,CAAA;QAC5E,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,IAAI,CAAC,GAAG,EAAE;gBACZ,kDAAkD;gBAClD,MAAM,kBAAkB,GAAuB;oBAC7C,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,qBAAqB,CAAC,uBAAuB;oBACtD,IAAI,EAAE,IAAI;iBACX,CAAA;gBACD,UAAU,GAAG,kBAAkB,CAAA;aAChC;iBAAM;gBACL,4DAA4D;gBAC5D,iDAAiD;gBACjD,MAAM,kBAAkB,GAAyB;oBAC/C,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,qBAAqB,CAAC,uBAAuB;oBACtD,IAAI,EAAE,eAAM,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpE,CAAA;gBACD,UAAU,GAAG,kBAAkB,CAAA;aAChC;SACF;aAAM;YACL,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAC1D,+CAA0B,CAAC,aAAa,CACzC,CAAA;YACD,MAAM,OAAO,GAAG,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CACvE,QAAQ,EACR,IAAI,EACJ;gBACE,MAAM,EAAE,+CAA0B,CAAC,WAAW;aAC/C,CACF,CAAA;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC3C,MAAM,wBAAwB,GAAG,IAAA,iBAAQ,EACvC,eAAU,CAAC,UAAU,CAAC,cAAc,CAAC,EACrC;gBACE,KAAK,EAAE,CAAC;aACT,CACF,CAAA;YAED,sEAAsE;YACtE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CACxD,+CAA0B,CAAC,SAAS,CACrC,CAAA;YACD,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAClD,GAAG,EACH,wBAAwB,EACxB,EAAE,EAAE,EAAE,CACP,CAAA;YACH,MAAM,gBAAgB,GAAqB;gBACzC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI,CAAC,GAAG;oBACf,CAAC,CAAC,qBAAqB,CAAC,uBAAuB;oBAC/C,CAAC,CAAC,qBAAqB,CAAC,uBAAuB;gBACjD,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,+CAA0B,CAAC,WAAW;gBAC9C,IAAI,EAAE,eAAM,CAAC,MAAM,CAAC,aAAa,CAAC;gBAClC,EAAE,EAAE,eAAM,CAAC,MAAM,CAAC,EAAE,CAAC;aACtB,CAAA;YAED,UAAU,GAAG,gBAAgB,CAAA;SAC9B;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;YAClD,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;SACjC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAChD,MAAM,WAAW,GAAG,eAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAExD,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,+EAA+E;QAC/E,+BAA+B;QAC/B,OAAO,IAAI,CAAC,GAAG;YACb,CAAC,CAAC,IAAA,iBAAQ,EAAC,WAAW,EAAE;gBACpB,KAAK,EAAE,CAAC;aACT,CAAC;YACJ,CAAC,CAAC,WAAW,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAiC;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,8BAAsB,EAAE,CAAA;SACnC;QAED,IAAI,IAAyB,CAAA;QAE7B,IAAI,IAAA,+BAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,uCAA+B,EAAE,CAAA;aAC5C;YAED,IAAI,EAAe,CAAA;YACnB,IAAI,aAA0B,CAAA;YAC9B,IAAI,GAAgB,CAAA;YACpB,IAAI;gBACF,MAAM,IAAI,GAAG,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAChD,EAAE,GAAG,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;gBACtC,aAAa,GAAG,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBACnD,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CACjE,QAAQ,EACR,IAAI,EACJ,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CACnC,CAAA;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,+BAAuB,EAAE,CAAA;aACpC;YAED,IAAI,wBAAqC,CAAA;YACzC,IAAI;gBACF,wBAAwB;oBACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAClD,GAAG,EACH,aAAa,EACb,EAAE,EAAE,EAAE,CACP,CAAA;aACJ;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,wCAAgC,EAAE,CAAA;aAC7C;YACD,IAAI;gBACF,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,oCAAuB;oBACjD,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,qCAA2B,CAAC,MAAM,CAChD,IAAI,CAAC,KAAK,CAAC,eAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAChD,CAAA;gBACD,IAAI,IAAA,eAAM,EAAC,OAAO,CAAC,EAAE;oBACnB,MAAM,IAAI,+BAAuB,EAAE,CAAA;iBACpC;gBACD,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;aACrB;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,+BAAuB,EAAE,CAAA;aACpC;SACF;aAAM,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAChD,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,yCAAiC,EAAE,CAAA;aAC9C;YACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;SAC5B;aAAM;YACL,iEAAiE;YACjE,mCAAmC;YACnC,MAAM,cAAc,GAAG,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC1D,IAAI;gBACF,MAAM,OAAO,GAAG,qCAA2B,CAAC,MAAM,CAChD,IAAI,CAAC,KAAK,CAAC,eAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAChD,CAAA;gBACD,IAAI,IAAA,eAAM,EAAC,OAAO,CAAC,EAAE;oBACnB,MAAM,IAAI,+BAAuB,EAAE,CAAA;iBACpC;gBACD,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;aACrB;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,+BAAuB,EAAE,CAAA;aACpC;SACF;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAA;YACzD,IAAI,OAAoB,CAAA;YACxB,IAAI;gBACF,OAAO,GAAG,eAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;aAClC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,+BAAuB,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAA;aACpE;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAED,WAAW,CACT,SAAiB,EACjB,IAAY,EACZ,IAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,UAAU,CACR,SAAiB,EACjB,IAAY,EACZ,IAAuB;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,wBAAgB,EAAE,CAAA;SAC7B;QAED,OAAO,OAAO,CAAC,OAAO,CAAA;IACxB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;;AAjhBH,sDAkhBC;AAjhBC;;;;GAIG;AACoB,6CAAuB,GAAG,oCAAuB,AAA1B,CAA0B;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACoB,6CAAuB,GAAG,oCAAuB,AAA1B,CAA0B;AAif1E,SAAgB,mCAAmC,CACjD,cAA8B;IAE9B,QAAQ,cAAc,EAAE;QACtB,KAAK,+BAAc,CAAC,QAAQ;YAC1B,OAAO,2BAAiB,CAAC,QAAQ,CAAA;QACnC,KAAK,+BAAc,CAAC,aAAa;YAC/B,OAAO,2BAAiB,CAAC,UAAU,CAAA;QACrC,KAAK,+BAAc,CAAC,YAAY;YAC9B,OAAO,2BAAiB,CAAC,SAAS,CAAA;QACpC,KAAK,+BAAc,CAAC,YAAY;YAC9B,OAAO,2BAAiB,CAAC,YAAY,CAAA;KACxC;AACH,CAAC;AAbD,kFAaC"}
|
|
@@ -169,10 +169,7 @@ class DefaultSudoKeyManager {
|
|
|
169
169
|
if (!privateKey) {
|
|
170
170
|
return undefined;
|
|
171
171
|
}
|
|
172
|
-
|
|
173
|
-
const privateKeyInfo = pkijs.PrivateKeyInfo.fromBER(privateKey);
|
|
174
|
-
const keyData = privateKeyInfo.parsedKey?.toSchema().toBER();
|
|
175
|
-
return keyData;
|
|
172
|
+
return this.privateKeyInfoToRSAPrivateKey(privateKey);
|
|
176
173
|
}
|
|
177
174
|
async importPrivateKeyFromRSAPrivateKey(name, privateKey) {
|
|
178
175
|
// Web Crypto Provider currently only accepts PrivateKeyInfo.
|
|
@@ -196,10 +193,7 @@ class DefaultSudoKeyManager {
|
|
|
196
193
|
case publicKey_1.PublicKeyFormat.RSAPublicKey:
|
|
197
194
|
return publicKey.keyData;
|
|
198
195
|
case publicKey_1.PublicKeyFormat.SPKI:
|
|
199
|
-
|
|
200
|
-
const publicKeyInfo = pkijs.PublicKeyInfo.fromBER(publicKey.keyData);
|
|
201
|
-
const keyData = publicKeyInfo.subjectPublicKey.valueBlock.valueHexView;
|
|
202
|
-
return keyData;
|
|
196
|
+
return this.publicKeyInfoToRSAPublicKey(publicKey.keyData);
|
|
203
197
|
}
|
|
204
198
|
}
|
|
205
199
|
async importPublicKeyFromRSAPublicKey(name, publicKey) {
|
|
@@ -291,6 +285,18 @@ class DefaultSudoKeyManager {
|
|
|
291
285
|
exportKeys() {
|
|
292
286
|
return this.sudoCryptoProvider.exportKeys();
|
|
293
287
|
}
|
|
288
|
+
privateKeyInfoToRSAPrivateKey(privateKey) {
|
|
289
|
+
const privateKeyInfo = pkijs.PrivateKeyInfo.fromBER(privateKey);
|
|
290
|
+
const privateKeyData = privateKeyInfo.parsedKey?.toSchema().toBER();
|
|
291
|
+
if (!privateKeyData) {
|
|
292
|
+
throw new error_1.IllegalArgumentError('Private key cannot be converted.');
|
|
293
|
+
}
|
|
294
|
+
return privateKeyData;
|
|
295
|
+
}
|
|
296
|
+
publicKeyInfoToRSAPublicKey(publicKey) {
|
|
297
|
+
const publicKeyInfo = pkijs.PublicKeyInfo.fromBER(publicKey);
|
|
298
|
+
return publicKeyInfo.subjectPublicKey.valueBlock.valueHexView;
|
|
299
|
+
}
|
|
294
300
|
publicKeyToPEM(key, format) {
|
|
295
301
|
const encoded = base64_1.Base64.encode(key);
|
|
296
302
|
const lines = encoded.match(/.{1,64}/g);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sudoKeyManager.js","sourceRoot":"","sources":["../../src/sudoKeyManager/sudoKeyManager.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,4CAAsD;AAEtD,2CAAwD;AAOxD,qDAA8B;AAC9B,uDAAgC;AAChC,4CAAwC;AACxC,2CAAsD;AAEtD;;GAEG;AACH,IAAK,GAEJ;AAFD,WAAK,GAAG;IACN,6CAAsC,CAAA;AACxC,CAAC,EAFI,GAAG,KAAH,GAAG,QAEP;AAED;;GAEG;AACH,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,4DAA+C,CAAA;IAC/C,qDAAwC,CAAA;AAC1C,CAAC,EAHI,SAAS,KAAT,SAAS,QAGb;AAED;;GAEG;AACH,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,0DAA6C,CAAA;IAC7C,mDAAsC,CAAA;AACxC,CAAC,EAHI,SAAS,KAAT,SAAS,QAGb;
|
|
1
|
+
{"version":3,"file":"sudoKeyManager.js","sourceRoot":"","sources":["../../src/sudoKeyManager/sudoKeyManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,25 @@ const SecureKeyArchiveRequiredProps = {
|
|
|
62
62
|
*/
|
|
63
63
|
IV: t.string,
|
|
64
64
|
};
|
|
65
|
+
const InsecureKeyArchiveV2RequiredProps = {
|
|
66
|
+
...CommonKeyArchiveRequiredProps,
|
|
67
|
+
/**
|
|
68
|
+
* Archive type.
|
|
69
|
+
*/
|
|
70
|
+
Type: t.union([
|
|
71
|
+
t.literal(InsecureKeyArchiveType),
|
|
72
|
+
t.literal(SecureKeyArchiveType),
|
|
73
|
+
]),
|
|
74
|
+
/**
|
|
75
|
+
* Base64 encoded exported keys.
|
|
76
|
+
*/
|
|
77
|
+
Keys: t.string,
|
|
78
|
+
};
|
|
79
|
+
// Existing V2 insecure key archives produced by iOS and Android
|
|
80
|
+
// has a different structure to V3 insecure key archive so we
|
|
81
|
+
// need a separate type and codec to process those. This is an
|
|
82
|
+
// incompatibility in addition to V3 archives being zipped.
|
|
83
|
+
export const InsecureKeyArchiveV2Codec = t.type(InsecureKeyArchiveV2RequiredProps, 'InsecureKeyArchiveV2');
|
|
65
84
|
const UnrecognizedKeyArchiveProps = {
|
|
66
85
|
Version: t.number,
|
|
67
86
|
Type: t.string,
|
|
@@ -71,6 +90,7 @@ export const SecureKeyArchiveCodec = t.type(SecureKeyArchiveRequiredProps, 'Secu
|
|
|
71
90
|
export const KeyArchiveCodec = t.union([
|
|
72
91
|
SecureKeyArchiveCodec,
|
|
73
92
|
InsecureKeyArchiveCodec,
|
|
93
|
+
InsecureKeyArchiveV2Codec,
|
|
74
94
|
// Leave UnrecognizedKeyArchiveCodec last so it's tried last
|
|
75
95
|
UnrecognizedKeyArchiveCodec,
|
|
76
96
|
], 'KeyArchive');
|
|
@@ -78,9 +98,16 @@ export function isSecureKeyArchive(keyArchive) {
|
|
|
78
98
|
return keyArchive.Type === SecureKeyArchiveType;
|
|
79
99
|
}
|
|
80
100
|
export function isInsecureKeyArchive(keyArchive) {
|
|
81
|
-
return keyArchive.Type === InsecureKeyArchiveType
|
|
101
|
+
return (keyArchive.Type === InsecureKeyArchiveType &&
|
|
102
|
+
keyArchive.Version !== PREGZIP_ARCHIVE_VERSION);
|
|
103
|
+
}
|
|
104
|
+
export function isInsecureKeyArchiveV2(keyArchive) {
|
|
105
|
+
return (keyArchive.Type === InsecureKeyArchiveType &&
|
|
106
|
+
keyArchive.Version === PREGZIP_ARCHIVE_VERSION);
|
|
82
107
|
}
|
|
83
108
|
export function isUnrecognizedKeyArchive(keyArchive) {
|
|
84
|
-
return !isSecureKeyArchive(keyArchive) &&
|
|
109
|
+
return (!isSecureKeyArchive(keyArchive) &&
|
|
110
|
+
!isInsecureKeyArchive(keyArchive) &&
|
|
111
|
+
!isInsecureKeyArchiveV2(keyArchive));
|
|
85
112
|
}
|
|
86
113
|
//# sourceMappingURL=keyArchive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/keyArchive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,OAAO,CAAA;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AAExC,MAAM,6BAA6B,GAAG;IACpC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;QACf,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;KACnC,CAAC;IAEF;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;CACvC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAA;AAEhD,MAAM,+BAA+B,GAAG;IACtC,GAAG,6BAA6B;IAChC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAEvC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;CACtC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAC3C,+BAA+B,EAC/B,oBAAoB,CACrB,CAAA;AAID,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAA;AAE5C,MAAM,6BAA6B,GAAG;IACpC,GAAG,6BAA6B;IAChC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAErC;;;;;;;OAOG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM;IAEd;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM;IAEhB;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM;IAEd;;OAEG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM;CACb,CAAA;AAED,MAAM,2BAA2B,GAAG;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM;CACf,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,OAAO,CAClD,2BAA2B,CAC5B,CAAA;AAKD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CACzC,6BAA6B,EAC7B,kBAAkB,CACnB,CAAA;AAGD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CACpC;IACE,qBAAqB;IACrB,uBAAuB;
|
|
1
|
+
{"version":3,"file":"keyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/keyArchive.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,15 @@ const KeyArchiveKeyInfoRequiredProps = {
|
|
|
10
10
|
Type: KeyArchiveKeyTypeCodec,
|
|
11
11
|
Data: t.string,
|
|
12
12
|
Synchronizable: t.boolean,
|
|
13
|
-
Exportable: t.boolean,
|
|
14
13
|
NameSpace: t.string,
|
|
15
14
|
};
|
|
16
|
-
|
|
15
|
+
const KeyArchiveKeyInfoOptionalProps = {
|
|
16
|
+
Exportable: t.boolean,
|
|
17
|
+
};
|
|
18
|
+
// eslint-disable-next-line tree-shaking/no-side-effects-in-initialization
|
|
19
|
+
export const KeyArchiveKeyInfoCodec = t.intersection([
|
|
20
|
+
t.type(KeyArchiveKeyInfoRequiredProps),
|
|
21
|
+
t.partial(KeyArchiveKeyInfoOptionalProps),
|
|
22
|
+
], 'KeyArchiveKeyInfo');
|
|
17
23
|
export const KeyArchiveKeyInfoArrayCodec = t.array(KeyArchiveKeyInfoCodec, 'KeyArchiveKeyInfoArray');
|
|
18
24
|
//# sourceMappingURL=keyInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyInfo.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/keyInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,OAAO,CAAA;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,8BAA8B,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,cAAc,EAAE,CAAC,CAAC,OAAO;IACzB,
|
|
1
|
+
{"version":3,"file":"keyInfo.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/keyInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,OAAO,CAAA;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,8BAA8B,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,cAAc,EAAE,CAAC,CAAC,OAAO;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM;CACpB,CAAA;AAED,MAAM,8BAA8B,GAAG;IACrC,UAAU,EAAE,CAAC,CAAC,OAAO;CACtB,CAAA;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAClD;IACE,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC;CAC1C,EACD,mBAAmB,CACpB,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAChD,sBAAsB,EACtB,wBAAwB,CACzB,CAAA"}
|
|
@@ -10,7 +10,7 @@ import { KeyDataKeyType } from '../sudoKeyManager';
|
|
|
10
10
|
import { SudoCryptoProviderDefaults } from '../sudoKeyManager/sudoCryptoProvider';
|
|
11
11
|
import { Base64 } from '../utils/base64';
|
|
12
12
|
import { Buffer as BufferUtil } from '../utils/buffer';
|
|
13
|
-
import { CURRENT_ARCHIVE_VERSION, PREGZIP_ARCHIVE_VERSION, InsecureKeyArchiveType, isSecureKeyArchive, isUnrecognizedKeyArchive, KeyArchiveCodec, SecureKeyArchiveType, } from './keyArchive';
|
|
13
|
+
import { CURRENT_ARCHIVE_VERSION, PREGZIP_ARCHIVE_VERSION, InsecureKeyArchiveType, isSecureKeyArchive, isUnrecognizedKeyArchive, KeyArchiveCodec, SecureKeyArchiveType, isInsecureKeyArchive, } from './keyArchive';
|
|
14
14
|
import { KeyArchiveKeyInfoArrayCodec } from './keyInfo';
|
|
15
15
|
import { KeyArchiveKeyType } from './keyType';
|
|
16
16
|
export class DefaultSudoKeyArchive {
|
|
@@ -37,8 +37,9 @@ export class DefaultSudoKeyArchive {
|
|
|
37
37
|
* Meta information to include with the key archive
|
|
38
38
|
*
|
|
39
39
|
* @param zip
|
|
40
|
-
*
|
|
41
|
-
*
|
|
40
|
+
* If the archive is created for importing keys, it specifies whether the provided data is
|
|
41
|
+
* zipped. If the archive is created for exporting keys, specifies whether the output should
|
|
42
|
+
* be zipped.
|
|
42
43
|
*
|
|
43
44
|
* @throws {@link IllegalArgumentError}
|
|
44
45
|
* If no key managers are provided
|
|
@@ -94,6 +95,7 @@ export class DefaultSudoKeyArchive {
|
|
|
94
95
|
this.metaInfo.set(key, value);
|
|
95
96
|
}
|
|
96
97
|
}
|
|
98
|
+
this.zip = options?.zip ?? true;
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
99
101
|
* Reads the binary data and converts it to JSON and then deserialises it
|
|
@@ -140,11 +142,38 @@ export class DefaultSudoKeyArchive {
|
|
|
140
142
|
}
|
|
141
143
|
return keyArchive;
|
|
142
144
|
}
|
|
145
|
+
keyArchiveInfoFromKeyData(keyData) {
|
|
146
|
+
let rawKey = keyData.data;
|
|
147
|
+
// If we are not using compression then we are creating v2
|
|
148
|
+
// archive. We need to perform some key format conversion
|
|
149
|
+
// in order ensure interoperability with other platforms.
|
|
150
|
+
if (!this.zip) {
|
|
151
|
+
switch (keyData.type) {
|
|
152
|
+
case KeyDataKeyType.RSAPrivateKey:
|
|
153
|
+
rawKey = Object.values(this.keyManagers)[0].privateKeyInfoToRSAPrivateKey(keyData.data);
|
|
154
|
+
break;
|
|
155
|
+
case KeyDataKeyType.RSAPublicKey:
|
|
156
|
+
rawKey = Object.values(this.keyManagers)[0].publicKeyInfoToRSAPublicKey(keyData.data);
|
|
157
|
+
break;
|
|
158
|
+
default:
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return {
|
|
163
|
+
NameSpace: keyData.namespace,
|
|
164
|
+
Name: keyData.name,
|
|
165
|
+
Type: keyArchiveKeyTypeFromKeyDataKeyType(keyData.type),
|
|
166
|
+
Data: Base64.encode(rawKey),
|
|
167
|
+
Decoded: keyData.data,
|
|
168
|
+
Synchronizable: false,
|
|
169
|
+
Exportable: true,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
143
172
|
async loadKeys() {
|
|
144
173
|
for (const keyManager of Object.values(this.keyManagers)) {
|
|
145
174
|
await keyManager.exportKeys().then((exported) => {
|
|
146
175
|
exported.forEach((data) => {
|
|
147
|
-
const keyArchiveInfoDecoded = keyArchiveInfoFromKeyData(data);
|
|
176
|
+
const keyArchiveInfoDecoded = this.keyArchiveInfoFromKeyData(data);
|
|
148
177
|
if (!this.excludedKeyTypes.has(keyArchiveInfoDecoded.Type) &&
|
|
149
178
|
!this.excludedKeys.has(data.name)) {
|
|
150
179
|
this.keys.set(`${keyArchiveInfoDecoded.NameSpace}:${keyArchiveInfoDecoded.Type}:${keyArchiveInfoDecoded.Name}`, keyArchiveInfoDecoded);
|
|
@@ -168,10 +197,20 @@ export class DefaultSudoKeyArchive {
|
|
|
168
197
|
await keyManager.addPassword(keyData, info.Name);
|
|
169
198
|
break;
|
|
170
199
|
case KeyArchiveKeyType.PrivateKey:
|
|
171
|
-
|
|
200
|
+
if (this.keyArchive?.Version === PREGZIP_ARCHIVE_VERSION) {
|
|
201
|
+
await keyManager.importPrivateKeyFromRSAPrivateKey(info.Name, keyData);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
await keyManager.addPrivateKey(keyData, info.Name);
|
|
205
|
+
}
|
|
172
206
|
break;
|
|
173
207
|
case KeyArchiveKeyType.PublicKey:
|
|
174
|
-
|
|
208
|
+
if (this.keyArchive?.Version === PREGZIP_ARCHIVE_VERSION) {
|
|
209
|
+
await keyManager.importPublicKeyFromRSAPublicKey(info.Name, keyData);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
await keyManager.addPublicKey(keyData, info.Name);
|
|
213
|
+
}
|
|
175
214
|
break;
|
|
176
215
|
case KeyArchiveKeyType.SymmetricKey:
|
|
177
216
|
await keyManager.addSymmetricKey(keyData, info.Name);
|
|
@@ -181,7 +220,7 @@ export class DefaultSudoKeyArchive {
|
|
|
181
220
|
}
|
|
182
221
|
}
|
|
183
222
|
}
|
|
184
|
-
async archive(password
|
|
223
|
+
async archive(password) {
|
|
185
224
|
const keys = [];
|
|
186
225
|
for (const key of this.keys.values()) {
|
|
187
226
|
keys.push({
|
|
@@ -195,15 +234,27 @@ export class DefaultSudoKeyArchive {
|
|
|
195
234
|
}
|
|
196
235
|
let keyArchive;
|
|
197
236
|
if (!password) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
: DefaultSudoKeyArchive.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
237
|
+
if (this.zip) {
|
|
238
|
+
// Zipped archive is only supported by V3 archive.
|
|
239
|
+
const insecureKeyArchive = {
|
|
240
|
+
Type: 'Insecure',
|
|
241
|
+
MetaInfo: {},
|
|
242
|
+
Version: DefaultSudoKeyArchive.CURRENT_ARCHIVE_VERSION,
|
|
243
|
+
Keys: keys,
|
|
244
|
+
};
|
|
245
|
+
keyArchive = insecureKeyArchive;
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
// Need this for backward compatibility and interoperability
|
|
249
|
+
// since other platforms only support V2 archive.
|
|
250
|
+
const insecureKeyArchive = {
|
|
251
|
+
Type: 'Insecure',
|
|
252
|
+
MetaInfo: {},
|
|
253
|
+
Version: DefaultSudoKeyArchive.PREGZIP_ARCHIVE_VERSION,
|
|
254
|
+
Keys: Base64.encode(new TextEncoder().encode(JSON.stringify(keys))),
|
|
255
|
+
};
|
|
256
|
+
keyArchive = insecureKeyArchive;
|
|
257
|
+
}
|
|
207
258
|
}
|
|
208
259
|
else {
|
|
209
260
|
const salt = await this.defaultKeyManager.generateRandomData(SudoCryptoProviderDefaults.pbkdfSaltSize);
|
|
@@ -220,7 +271,7 @@ export class DefaultSudoKeyArchive {
|
|
|
220
271
|
const encryptedKeys = await this.defaultKeyManager.encryptWithSymmetricKey(key, compressedSerializedKeys, { iv });
|
|
221
272
|
const secureKeyArchive = {
|
|
222
273
|
Type: 'Secure',
|
|
223
|
-
Version: zip
|
|
274
|
+
Version: this.zip
|
|
224
275
|
? DefaultSudoKeyArchive.CURRENT_ARCHIVE_VERSION
|
|
225
276
|
: DefaultSudoKeyArchive.PREGZIP_ARCHIVE_VERSION,
|
|
226
277
|
MetaInfo: {},
|
|
@@ -241,7 +292,7 @@ export class DefaultSudoKeyArchive {
|
|
|
241
292
|
// we would end up having a fully binary data structure for the archive.
|
|
242
293
|
// If the time to compute becomes prohibitive we can look at a binary, non-JSON
|
|
243
294
|
// base format for the archive.
|
|
244
|
-
return zip
|
|
295
|
+
return this.zip
|
|
245
296
|
? gzipSync(archiveData, {
|
|
246
297
|
level: 9,
|
|
247
298
|
})
|
|
@@ -277,7 +328,9 @@ export class DefaultSudoKeyArchive {
|
|
|
277
328
|
throw new KeyArchiveIncorrectPasswordError();
|
|
278
329
|
}
|
|
279
330
|
try {
|
|
280
|
-
const serializedKeys =
|
|
331
|
+
const serializedKeys = this.keyArchive.Version === PREGZIP_ARCHIVE_VERSION
|
|
332
|
+
? compressedSerializedKeys
|
|
333
|
+
: gunzipSync(new Uint8Array(compressedSerializedKeys));
|
|
281
334
|
const decoded = KeyArchiveKeyInfoArrayCodec.decode(JSON.parse(BufferUtil.toString(serializedKeys)));
|
|
282
335
|
if (isLeft(decoded)) {
|
|
283
336
|
throw new KeyArchiveDecodingError();
|
|
@@ -288,12 +341,27 @@ export class DefaultSudoKeyArchive {
|
|
|
288
341
|
throw new KeyArchiveDecodingError();
|
|
289
342
|
}
|
|
290
343
|
}
|
|
291
|
-
else {
|
|
344
|
+
else if (isInsecureKeyArchive(this.keyArchive)) {
|
|
292
345
|
if (password) {
|
|
293
346
|
throw new KeyArchiveNoPasswordRequiredError();
|
|
294
347
|
}
|
|
295
348
|
keys = this.keyArchive.Keys;
|
|
296
349
|
}
|
|
350
|
+
else {
|
|
351
|
+
// Process V2 insecure key archive. V2 archive's `Keys` attribute
|
|
352
|
+
// is always base64 encoded string.
|
|
353
|
+
const serializedKeys = Base64.decode(this.keyArchive.Keys);
|
|
354
|
+
try {
|
|
355
|
+
const decoded = KeyArchiveKeyInfoArrayCodec.decode(JSON.parse(BufferUtil.toString(serializedKeys)));
|
|
356
|
+
if (isLeft(decoded)) {
|
|
357
|
+
throw new KeyArchiveDecodingError();
|
|
358
|
+
}
|
|
359
|
+
keys = decoded.right;
|
|
360
|
+
}
|
|
361
|
+
catch (err) {
|
|
362
|
+
throw new KeyArchiveDecodingError();
|
|
363
|
+
}
|
|
364
|
+
}
|
|
297
365
|
keys.forEach((key) => {
|
|
298
366
|
const keyKey = `${key.NameSpace}:${key.Type}:${key.Name}`;
|
|
299
367
|
let decoded;
|
|
@@ -363,17 +431,6 @@ DefaultSudoKeyArchive.PREGZIP_ARCHIVE_VERSION = PREGZIP_ARCHIVE_VERSION;
|
|
|
363
431
|
* salted with SecureKeyArchive.Salt.
|
|
364
432
|
*/
|
|
365
433
|
DefaultSudoKeyArchive.CURRENT_ARCHIVE_VERSION = CURRENT_ARCHIVE_VERSION;
|
|
366
|
-
export function keyArchiveInfoFromKeyData(keyData) {
|
|
367
|
-
return {
|
|
368
|
-
NameSpace: keyData.namespace,
|
|
369
|
-
Name: keyData.name,
|
|
370
|
-
Type: keyArchiveKeyTypeFromKeyDataKeyType(keyData.type),
|
|
371
|
-
Data: Base64.encode(keyData.data),
|
|
372
|
-
Decoded: keyData.data,
|
|
373
|
-
Synchronizable: false,
|
|
374
|
-
Exportable: true,
|
|
375
|
-
};
|
|
376
|
-
}
|
|
377
434
|
export function keyArchiveKeyTypeFromKeyDataKeyType(keyDataKeyType) {
|
|
378
435
|
switch (keyDataKeyType) {
|
|
379
436
|
case KeyDataKeyType.Password:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sudoKeyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/sudoKeyArchive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sudoKeyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/sudoKeyArchive.ts"],"names":[],"mappings":"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"}
|
|
@@ -165,10 +165,7 @@ export class DefaultSudoKeyManager {
|
|
|
165
165
|
if (!privateKey) {
|
|
166
166
|
return undefined;
|
|
167
167
|
}
|
|
168
|
-
|
|
169
|
-
const privateKeyInfo = pkijs.PrivateKeyInfo.fromBER(privateKey);
|
|
170
|
-
const keyData = privateKeyInfo.parsedKey?.toSchema().toBER();
|
|
171
|
-
return keyData;
|
|
168
|
+
return this.privateKeyInfoToRSAPrivateKey(privateKey);
|
|
172
169
|
}
|
|
173
170
|
async importPrivateKeyFromRSAPrivateKey(name, privateKey) {
|
|
174
171
|
// Web Crypto Provider currently only accepts PrivateKeyInfo.
|
|
@@ -192,10 +189,7 @@ export class DefaultSudoKeyManager {
|
|
|
192
189
|
case PublicKeyFormat.RSAPublicKey:
|
|
193
190
|
return publicKey.keyData;
|
|
194
191
|
case PublicKeyFormat.SPKI:
|
|
195
|
-
|
|
196
|
-
const publicKeyInfo = pkijs.PublicKeyInfo.fromBER(publicKey.keyData);
|
|
197
|
-
const keyData = publicKeyInfo.subjectPublicKey.valueBlock.valueHexView;
|
|
198
|
-
return keyData;
|
|
192
|
+
return this.publicKeyInfoToRSAPublicKey(publicKey.keyData);
|
|
199
193
|
}
|
|
200
194
|
}
|
|
201
195
|
async importPublicKeyFromRSAPublicKey(name, publicKey) {
|
|
@@ -287,6 +281,18 @@ export class DefaultSudoKeyManager {
|
|
|
287
281
|
exportKeys() {
|
|
288
282
|
return this.sudoCryptoProvider.exportKeys();
|
|
289
283
|
}
|
|
284
|
+
privateKeyInfoToRSAPrivateKey(privateKey) {
|
|
285
|
+
const privateKeyInfo = pkijs.PrivateKeyInfo.fromBER(privateKey);
|
|
286
|
+
const privateKeyData = privateKeyInfo.parsedKey?.toSchema().toBER();
|
|
287
|
+
if (!privateKeyData) {
|
|
288
|
+
throw new IllegalArgumentError('Private key cannot be converted.');
|
|
289
|
+
}
|
|
290
|
+
return privateKeyData;
|
|
291
|
+
}
|
|
292
|
+
publicKeyInfoToRSAPublicKey(publicKey) {
|
|
293
|
+
const publicKeyInfo = pkijs.PublicKeyInfo.fromBER(publicKey);
|
|
294
|
+
return publicKeyInfo.subjectPublicKey.valueBlock.valueHexView;
|
|
295
|
+
}
|
|
290
296
|
publicKeyToPEM(key, format) {
|
|
291
297
|
const encoded = Base64.encode(key);
|
|
292
298
|
const lines = encoded.match(/.{1,64}/g);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sudoKeyManager.js","sourceRoot":"","sources":["../../src/sudoKeyManager/sudoKeyManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAa,eAAe,EAAE,MAAM,aAAa,CAAA;AAOxD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD;;GAEG;AACH,IAAK,GAEJ;AAFD,WAAK,GAAG;IACN,6CAAsC,CAAA;AACxC,CAAC,EAFI,GAAG,KAAH,GAAG,QAEP;AAED;;GAEG;AACH,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,4DAA+C,CAAA;IAC/C,qDAAwC,CAAA;AAC1C,CAAC,EAHI,SAAS,KAAT,SAAS,QAGb;AAED;;GAEG;AACH,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,0DAA6C,CAAA;IAC7C,mDAAsC,CAAA;AACxC,CAAC,EAHI,SAAS,KAAT,SAAS,QAGb;
|
|
1
|
+
{"version":3,"file":"sudoKeyManager.js","sourceRoot":"","sources":["../../src/sudoKeyManager/sudoKeyManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudoplatform/sudo-common",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.8.1",
|
|
4
4
|
"author": "Anonyome Labs, Inc.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -50,35 +50,36 @@
|
|
|
50
50
|
"resolutions": {
|
|
51
51
|
"**/apollo-cache-inmemory": "^1.6.6",
|
|
52
52
|
"**/apollo-client": "^2.6.10",
|
|
53
|
-
"fast-xml-parser": "^4.
|
|
54
|
-
"xml2js": "^0.6.
|
|
53
|
+
"fast-xml-parser": "^4.3.1",
|
|
54
|
+
"xml2js": "^0.6.2",
|
|
55
|
+
"semver": "^7.5.4"
|
|
55
56
|
},
|
|
56
57
|
"dependencies": {
|
|
57
|
-
"@aws-sdk/client-s3": "^3.
|
|
58
|
+
"@aws-sdk/client-s3": "^3.363.0",
|
|
58
59
|
"apollo-client": "^2.6.10",
|
|
59
60
|
"asn1js": "^3.0.5",
|
|
60
61
|
"browser-bunyan": "^1.8.0",
|
|
61
|
-
"fflate": "^0.8.
|
|
62
|
+
"fflate": "^0.8.1",
|
|
62
63
|
"graphql": "^15.8.0",
|
|
63
|
-
"pkijs": "^3.0.
|
|
64
|
-
"tslib": "^2.
|
|
64
|
+
"pkijs": "^3.0.15",
|
|
65
|
+
"tslib": "^2.6.2"
|
|
65
66
|
},
|
|
66
67
|
"peerDependencies": {
|
|
67
68
|
"io-ts": "^2.2.16"
|
|
68
69
|
},
|
|
69
70
|
"devDependencies": {
|
|
70
71
|
"@types/jest": "^27.5.2",
|
|
71
|
-
"@types/node": "16.18.
|
|
72
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
73
|
-
"@typescript-eslint/parser": "^
|
|
72
|
+
"@types/node": "16.18.37",
|
|
73
|
+
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
|
74
|
+
"@typescript-eslint/parser": "^6.7.2",
|
|
74
75
|
"aws-sdk-mock": "^5.8.0",
|
|
75
|
-
"concurrently": "^8.1
|
|
76
|
-
"eslint": "^8.
|
|
77
|
-
"eslint-config-prettier": "^
|
|
78
|
-
"eslint-plugin-import": "^2.
|
|
79
|
-
"eslint-plugin-prettier": "^
|
|
80
|
-
"eslint-plugin-tree-shaking": "^1.10.
|
|
81
|
-
"fp-ts": "^2.16.
|
|
76
|
+
"concurrently": "^8.2.1",
|
|
77
|
+
"eslint": "^8.50.0",
|
|
78
|
+
"eslint-config-prettier": "^9.0.0",
|
|
79
|
+
"eslint-plugin-import": "^2.28.1",
|
|
80
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
81
|
+
"eslint-plugin-tree-shaking": "^1.10.1",
|
|
82
|
+
"fp-ts": "^2.16.1",
|
|
82
83
|
"io-ts": "^2.2.20",
|
|
83
84
|
"io-ts-types": "^0.5.19",
|
|
84
85
|
"isomorphic-fetch": "^3.0.0",
|
|
@@ -86,25 +87,12 @@
|
|
|
86
87
|
"jest": "^27.5.1",
|
|
87
88
|
"monocle-ts": "^2.3.13",
|
|
88
89
|
"newtype-ts": "^0.3.5",
|
|
89
|
-
"prettier": "^
|
|
90
|
-
"rimraf": "^5.0.
|
|
90
|
+
"prettier": "^3.0.3",
|
|
91
|
+
"rimraf": "^5.0.5",
|
|
91
92
|
"ts-jest": "^27.1.5",
|
|
92
93
|
"ts-mockito": "^2.6.1",
|
|
93
94
|
"ts-node": "^10.9.1",
|
|
94
|
-
"typedoc": "^0.
|
|
95
|
-
"typescript": "^5.
|
|
96
|
-
},
|
|
97
|
-
"outdatedSuppressions": {
|
|
98
|
-
"major": {
|
|
99
|
-
"@types/jest": 1684846723,
|
|
100
|
-
"@types/node": 1684846723,
|
|
101
|
-
"graphql": 1684846723,
|
|
102
|
-
"jest": 1684846723,
|
|
103
|
-
"ts-jest": 1684846723,
|
|
104
|
-
"typescript": 1684846723
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
"auditSuppressions": {
|
|
108
|
-
"1092278": 1688088266
|
|
95
|
+
"typedoc": "^0.25.1",
|
|
96
|
+
"typescript": "^5.2.2"
|
|
109
97
|
}
|
|
110
98
|
}
|
|
@@ -10,14 +10,15 @@ export declare const InsecureKeyArchiveCodec: t.TypeC<{
|
|
|
10
10
|
/**
|
|
11
11
|
* Array of exported keys in clear text.
|
|
12
12
|
*/
|
|
13
|
-
Keys: t.ArrayC<t.TypeC<{
|
|
13
|
+
Keys: t.ArrayC<t.IntersectionC<[t.TypeC<{
|
|
14
14
|
Name: t.StringC;
|
|
15
15
|
Type: t.Type<import("./keyType").KeyArchiveKeyType, string, unknown>;
|
|
16
16
|
Data: t.StringC;
|
|
17
17
|
Synchronizable: t.BooleanC;
|
|
18
|
-
Exportable: t.BooleanC;
|
|
19
18
|
NameSpace: t.StringC;
|
|
20
|
-
}
|
|
19
|
+
}>, t.PartialC<{
|
|
20
|
+
Exportable: t.BooleanC;
|
|
21
|
+
}>]>>;
|
|
21
22
|
/**
|
|
22
23
|
* Version this archive format.
|
|
23
24
|
*/
|
|
@@ -29,6 +30,25 @@ export declare const InsecureKeyArchiveCodec: t.TypeC<{
|
|
|
29
30
|
}>;
|
|
30
31
|
export type InsecureKeyArchive = t.TypeOf<typeof InsecureKeyArchiveCodec>;
|
|
31
32
|
export declare const SecureKeyArchiveType = "Secure";
|
|
33
|
+
export declare const InsecureKeyArchiveV2Codec: t.TypeC<{
|
|
34
|
+
/**
|
|
35
|
+
* Archive type.
|
|
36
|
+
*/
|
|
37
|
+
Type: t.UnionC<[t.LiteralC<"Insecure">, t.LiteralC<"Secure">]>;
|
|
38
|
+
/**
|
|
39
|
+
* Base64 encoded exported keys.
|
|
40
|
+
*/
|
|
41
|
+
Keys: t.StringC;
|
|
42
|
+
/**
|
|
43
|
+
* Version this archive format.
|
|
44
|
+
*/
|
|
45
|
+
Version: t.UnionC<[t.LiteralC<3>, t.LiteralC<2>]>;
|
|
46
|
+
/**
|
|
47
|
+
* Metainfo user is able to associate with the archive.
|
|
48
|
+
*/
|
|
49
|
+
MetaInfo: t.RecordC<t.StringC, t.StringC>;
|
|
50
|
+
}>;
|
|
51
|
+
export type InsecureKeyArchiveV2 = t.TypeOf<typeof InsecureKeyArchiveV2Codec>;
|
|
32
52
|
export declare const UnrecognizedKeyArchiveCodec: t.PartialC<{
|
|
33
53
|
Version: t.NumberC;
|
|
34
54
|
Type: t.StringC;
|
|
@@ -112,14 +132,32 @@ export declare const KeyArchiveCodec: t.UnionC<[t.TypeC<{
|
|
|
112
132
|
/**
|
|
113
133
|
* Array of exported keys in clear text.
|
|
114
134
|
*/
|
|
115
|
-
Keys: t.ArrayC<t.TypeC<{
|
|
135
|
+
Keys: t.ArrayC<t.IntersectionC<[t.TypeC<{
|
|
116
136
|
Name: t.StringC;
|
|
117
137
|
Type: t.Type<import("./keyType").KeyArchiveKeyType, string, unknown>;
|
|
118
138
|
Data: t.StringC;
|
|
119
139
|
Synchronizable: t.BooleanC;
|
|
120
|
-
Exportable: t.BooleanC;
|
|
121
140
|
NameSpace: t.StringC;
|
|
122
|
-
}
|
|
141
|
+
}>, t.PartialC<{
|
|
142
|
+
Exportable: t.BooleanC;
|
|
143
|
+
}>]>>;
|
|
144
|
+
/**
|
|
145
|
+
* Version this archive format.
|
|
146
|
+
*/
|
|
147
|
+
Version: t.UnionC<[t.LiteralC<3>, t.LiteralC<2>]>;
|
|
148
|
+
/**
|
|
149
|
+
* Metainfo user is able to associate with the archive.
|
|
150
|
+
*/
|
|
151
|
+
MetaInfo: t.RecordC<t.StringC, t.StringC>;
|
|
152
|
+
}>, t.TypeC<{
|
|
153
|
+
/**
|
|
154
|
+
* Archive type.
|
|
155
|
+
*/
|
|
156
|
+
Type: t.UnionC<[t.LiteralC<"Insecure">, t.LiteralC<"Secure">]>;
|
|
157
|
+
/**
|
|
158
|
+
* Base64 encoded exported keys.
|
|
159
|
+
*/
|
|
160
|
+
Keys: t.StringC;
|
|
123
161
|
/**
|
|
124
162
|
* Version this archive format.
|
|
125
163
|
*/
|
|
@@ -135,4 +173,5 @@ export declare const KeyArchiveCodec: t.UnionC<[t.TypeC<{
|
|
|
135
173
|
export type KeyArchive = t.TypeOf<typeof KeyArchiveCodec>;
|
|
136
174
|
export declare function isSecureKeyArchive(keyArchive: KeyArchive): keyArchive is SecureKeyArchive;
|
|
137
175
|
export declare function isInsecureKeyArchive(keyArchive: KeyArchive): keyArchive is InsecureKeyArchive;
|
|
176
|
+
export declare function isInsecureKeyArchiveV2(keyArchive: KeyArchive): keyArchive is InsecureKeyArchiveV2;
|
|
138
177
|
export declare function isUnrecognizedKeyArchive(keyArchive: KeyArchive): keyArchive is UnrecognizedKeyArchive;
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import * as t from 'io-ts';
|
|
2
|
-
export declare const KeyArchiveKeyInfoCodec: t.TypeC<{
|
|
2
|
+
export declare const KeyArchiveKeyInfoCodec: t.IntersectionC<[t.TypeC<{
|
|
3
3
|
Name: t.StringC;
|
|
4
4
|
Type: t.Type<import("./keyType").KeyArchiveKeyType, string, unknown>;
|
|
5
5
|
Data: t.StringC;
|
|
6
6
|
Synchronizable: t.BooleanC;
|
|
7
|
-
Exportable: t.BooleanC;
|
|
8
7
|
NameSpace: t.StringC;
|
|
9
|
-
}
|
|
10
|
-
|
|
8
|
+
}>, t.PartialC<{
|
|
9
|
+
Exportable: t.BooleanC;
|
|
10
|
+
}>]>;
|
|
11
|
+
export declare const KeyArchiveKeyInfoArrayCodec: t.ArrayC<t.IntersectionC<[t.TypeC<{
|
|
11
12
|
Name: t.StringC;
|
|
12
13
|
Type: t.Type<import("./keyType").KeyArchiveKeyType, string, unknown>;
|
|
13
14
|
Data: t.StringC;
|
|
14
15
|
Synchronizable: t.BooleanC;
|
|
15
|
-
Exportable: t.BooleanC;
|
|
16
16
|
NameSpace: t.StringC;
|
|
17
|
-
}
|
|
17
|
+
}>, t.PartialC<{
|
|
18
|
+
Exportable: t.BooleanC;
|
|
19
|
+
}>]>>;
|
|
18
20
|
/**
|
|
19
21
|
* Record of key in a key archive
|
|
20
22
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { KeyDataKeyType } from '../sudoKeyManager';
|
|
2
2
|
import { SudoKeyManager } from '../sudoKeyManager/sudoKeyManager';
|
|
3
3
|
import { KeyArchiveKeyInfo } from './keyInfo';
|
|
4
4
|
import { KeyArchiveKeyType } from './keyType';
|
|
@@ -18,13 +18,9 @@ export interface SudoKeyArchive {
|
|
|
18
18
|
* The password to use to encrypt the archive. Or undefined if no password.
|
|
19
19
|
* Choice to have no password must be explicit.
|
|
20
20
|
*
|
|
21
|
-
* @param zip
|
|
22
|
-
* Specifies whether or not to zip the archive to save space. It defaults to
|
|
23
|
-
* to `true` if undefined.
|
|
24
|
-
*
|
|
25
21
|
* @returns Binary archive data.
|
|
26
22
|
*/
|
|
27
|
-
archive(password: ArrayBuffer | undefined
|
|
23
|
+
archive(password: ArrayBuffer | undefined): Promise<ArrayBuffer>;
|
|
28
24
|
/**
|
|
29
25
|
* Decrypts and unarchives the keys in this archive.
|
|
30
26
|
*
|
|
@@ -129,6 +125,7 @@ export declare class DefaultSudoKeyArchive implements SudoKeyArchive {
|
|
|
129
125
|
private readonly excludedKeyTypes;
|
|
130
126
|
private readonly metaInfo;
|
|
131
127
|
private readonly keys;
|
|
128
|
+
private readonly zip;
|
|
132
129
|
/**
|
|
133
130
|
* Construct SudoKeyArchive
|
|
134
131
|
*
|
|
@@ -152,8 +149,9 @@ export declare class DefaultSudoKeyArchive implements SudoKeyArchive {
|
|
|
152
149
|
* Meta information to include with the key archive
|
|
153
150
|
*
|
|
154
151
|
* @param zip
|
|
155
|
-
*
|
|
156
|
-
*
|
|
152
|
+
* If the archive is created for importing keys, it specifies whether the provided data is
|
|
153
|
+
* zipped. If the archive is created for exporting keys, specifies whether the output should
|
|
154
|
+
* be zipped.
|
|
157
155
|
*
|
|
158
156
|
* @throws {@link IllegalArgumentError}
|
|
159
157
|
* If no key managers are provided
|
|
@@ -184,9 +182,10 @@ export declare class DefaultSudoKeyArchive implements SudoKeyArchive {
|
|
|
184
182
|
* into a KeyArchive
|
|
185
183
|
*/
|
|
186
184
|
private loadArchive;
|
|
185
|
+
private keyArchiveInfoFromKeyData;
|
|
187
186
|
loadKeys(): Promise<void>;
|
|
188
187
|
saveKeys(): Promise<void>;
|
|
189
|
-
archive(password: ArrayBuffer | undefined
|
|
188
|
+
archive(password: ArrayBuffer | undefined): Promise<ArrayBuffer>;
|
|
190
189
|
unarchive(password: ArrayBuffer | undefined): Promise<void>;
|
|
191
190
|
reset(): void;
|
|
192
191
|
containsKey(namespace: string, name: string, type: KeyArchiveKeyType): boolean;
|
|
@@ -195,5 +194,4 @@ export declare class DefaultSudoKeyArchive implements SudoKeyArchive {
|
|
|
195
194
|
getExcludedKeyTypes(): ReadonlySet<KeyArchiveKeyType>;
|
|
196
195
|
getMetaInfo(): ReadonlyMap<string, string>;
|
|
197
196
|
}
|
|
198
|
-
export declare function keyArchiveInfoFromKeyData(keyData: KeyData): KeyArchiveKeyInfoDecoded;
|
|
199
197
|
export declare function keyArchiveKeyTypeFromKeyDataKeyType(keyDataKeyType: KeyDataKeyType): KeyArchiveKeyType;
|
|
@@ -156,6 +156,18 @@ export interface SudoKeyManager {
|
|
|
156
156
|
* @param publicKey The public key to import.
|
|
157
157
|
*/
|
|
158
158
|
importPublicKeyFromRSAPublicKey(name: string, publicKey: ArrayBuffer): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Converts PKCS#8 PrivateKeyInfo (RFC5280) to RSAPrivateKey (RFC3447).
|
|
161
|
+
*
|
|
162
|
+
* @param privateKey private key to convert.
|
|
163
|
+
*/
|
|
164
|
+
privateKeyInfoToRSAPrivateKey(privateKey: ArrayBuffer): ArrayBuffer;
|
|
165
|
+
/**
|
|
166
|
+
* Converts SubjectPubicKeyInfo (RFC5280) to RSAPublicKey (RFC3447).
|
|
167
|
+
*
|
|
168
|
+
* @param publicKey public key to convert.
|
|
169
|
+
*/
|
|
170
|
+
publicKeyInfoToRSAPublicKey(publicKey: ArrayBuffer): ArrayBuffer;
|
|
159
171
|
/**
|
|
160
172
|
* Deletes a key pair from the secure store.
|
|
161
173
|
*
|
|
@@ -396,5 +408,7 @@ export declare class DefaultSudoKeyManager implements SudoKeyManager {
|
|
|
396
408
|
generateRandomData(size: number): Promise<ArrayBuffer>;
|
|
397
409
|
generateHash(data: ArrayBuffer): Promise<ArrayBuffer>;
|
|
398
410
|
exportKeys(): Promise<KeyData[]>;
|
|
411
|
+
privateKeyInfoToRSAPrivateKey(privateKey: ArrayBuffer): ArrayBuffer;
|
|
412
|
+
publicKeyInfoToRSAPublicKey(publicKey: ArrayBuffer): ArrayBuffer;
|
|
399
413
|
private publicKeyToPEM;
|
|
400
414
|
}
|