@sudoplatform/sudo-common 8.6.1 → 8.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +60 -0
- 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 +60 -0
- package/lib/sudoKeyManager/sudoKeyManager.js.map +1 -1
- package/package.json +4 -1
- 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 +48 -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":"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"}
|
|
@@ -164,6 +164,54 @@ class DefaultSudoKeyManager {
|
|
|
164
164
|
}
|
|
165
165
|
await this.sudoCryptoProvider.addPublicKey(keyData, name);
|
|
166
166
|
}
|
|
167
|
+
async exportPrivateKeyAsRSAPrivateKey(name) {
|
|
168
|
+
const privateKey = await this.getPrivateKey(name);
|
|
169
|
+
if (!privateKey) {
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
return this.privateKeyInfoToRSAPrivateKey(privateKey);
|
|
173
|
+
}
|
|
174
|
+
async importPrivateKeyFromRSAPrivateKey(name, privateKey) {
|
|
175
|
+
// Web Crypto Provider currently only accepts PrivateKeyInfo.
|
|
176
|
+
const pki = new pkijs.PrivateKeyInfo();
|
|
177
|
+
pki.privateKeyAlgorithm = new pkijs.AlgorithmIdentifier({
|
|
178
|
+
algorithmId: OID.rsaEncryption,
|
|
179
|
+
algorithmParams: new asn1js.Null(),
|
|
180
|
+
});
|
|
181
|
+
pki.privateKey = new asn1js.OctetString({
|
|
182
|
+
valueHex: privateKey,
|
|
183
|
+
});
|
|
184
|
+
const keyData = pki.toSchema().toBER();
|
|
185
|
+
await this.sudoCryptoProvider.addPrivateKey(keyData, name);
|
|
186
|
+
}
|
|
187
|
+
async exportPublicKeyAsRSAPublicKey(name) {
|
|
188
|
+
const publicKey = await this.getPublicKey(name);
|
|
189
|
+
if (!publicKey) {
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
switch (publicKey.keyFormat) {
|
|
193
|
+
case publicKey_1.PublicKeyFormat.RSAPublicKey:
|
|
194
|
+
return publicKey.keyData;
|
|
195
|
+
case publicKey_1.PublicKeyFormat.SPKI:
|
|
196
|
+
return this.publicKeyInfoToRSAPublicKey(publicKey.keyData);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
async importPublicKeyFromRSAPublicKey(name, publicKey) {
|
|
200
|
+
// Web Crypto Provider currently only accepts SPKI and
|
|
201
|
+
// none of the native providers support adding a public
|
|
202
|
+
// key so we will need to convert RSAPublicKey (RFC3447)
|
|
203
|
+
// to SPKI (RFC5280).
|
|
204
|
+
const spki = new pkijs.PublicKeyInfo();
|
|
205
|
+
spki.algorithm = new pkijs.AlgorithmIdentifier({
|
|
206
|
+
algorithmId: OID.rsaEncryption,
|
|
207
|
+
algorithmParams: new asn1js.Null(),
|
|
208
|
+
});
|
|
209
|
+
spki.subjectPublicKey = new asn1js.BitString({
|
|
210
|
+
valueHex: publicKey,
|
|
211
|
+
});
|
|
212
|
+
const keyData = spki.toSchema().toBER();
|
|
213
|
+
await this.sudoCryptoProvider.addPublicKey(keyData, name);
|
|
214
|
+
}
|
|
167
215
|
deleteKeyPair(name) {
|
|
168
216
|
return this.sudoCryptoProvider.deleteKeyPair(name);
|
|
169
217
|
}
|
|
@@ -237,6 +285,18 @@ class DefaultSudoKeyManager {
|
|
|
237
285
|
exportKeys() {
|
|
238
286
|
return this.sudoCryptoProvider.exportKeys();
|
|
239
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
|
+
}
|
|
240
300
|
publicKeyToPEM(key, format) {
|
|
241
301
|
const encoded = base64_1.Base64.encode(key);
|
|
242
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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"}
|
|
@@ -160,6 +160,54 @@ export class DefaultSudoKeyManager {
|
|
|
160
160
|
}
|
|
161
161
|
await this.sudoCryptoProvider.addPublicKey(keyData, name);
|
|
162
162
|
}
|
|
163
|
+
async exportPrivateKeyAsRSAPrivateKey(name) {
|
|
164
|
+
const privateKey = await this.getPrivateKey(name);
|
|
165
|
+
if (!privateKey) {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
return this.privateKeyInfoToRSAPrivateKey(privateKey);
|
|
169
|
+
}
|
|
170
|
+
async importPrivateKeyFromRSAPrivateKey(name, privateKey) {
|
|
171
|
+
// Web Crypto Provider currently only accepts PrivateKeyInfo.
|
|
172
|
+
const pki = new pkijs.PrivateKeyInfo();
|
|
173
|
+
pki.privateKeyAlgorithm = new pkijs.AlgorithmIdentifier({
|
|
174
|
+
algorithmId: OID.rsaEncryption,
|
|
175
|
+
algorithmParams: new asn1js.Null(),
|
|
176
|
+
});
|
|
177
|
+
pki.privateKey = new asn1js.OctetString({
|
|
178
|
+
valueHex: privateKey,
|
|
179
|
+
});
|
|
180
|
+
const keyData = pki.toSchema().toBER();
|
|
181
|
+
await this.sudoCryptoProvider.addPrivateKey(keyData, name);
|
|
182
|
+
}
|
|
183
|
+
async exportPublicKeyAsRSAPublicKey(name) {
|
|
184
|
+
const publicKey = await this.getPublicKey(name);
|
|
185
|
+
if (!publicKey) {
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
switch (publicKey.keyFormat) {
|
|
189
|
+
case PublicKeyFormat.RSAPublicKey:
|
|
190
|
+
return publicKey.keyData;
|
|
191
|
+
case PublicKeyFormat.SPKI:
|
|
192
|
+
return this.publicKeyInfoToRSAPublicKey(publicKey.keyData);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
async importPublicKeyFromRSAPublicKey(name, publicKey) {
|
|
196
|
+
// Web Crypto Provider currently only accepts SPKI and
|
|
197
|
+
// none of the native providers support adding a public
|
|
198
|
+
// key so we will need to convert RSAPublicKey (RFC3447)
|
|
199
|
+
// to SPKI (RFC5280).
|
|
200
|
+
const spki = new pkijs.PublicKeyInfo();
|
|
201
|
+
spki.algorithm = new pkijs.AlgorithmIdentifier({
|
|
202
|
+
algorithmId: OID.rsaEncryption,
|
|
203
|
+
algorithmParams: new asn1js.Null(),
|
|
204
|
+
});
|
|
205
|
+
spki.subjectPublicKey = new asn1js.BitString({
|
|
206
|
+
valueHex: publicKey,
|
|
207
|
+
});
|
|
208
|
+
const keyData = spki.toSchema().toBER();
|
|
209
|
+
await this.sudoCryptoProvider.addPublicKey(keyData, name);
|
|
210
|
+
}
|
|
163
211
|
deleteKeyPair(name) {
|
|
164
212
|
return this.sudoCryptoProvider.deleteKeyPair(name);
|
|
165
213
|
}
|
|
@@ -233,6 +281,18 @@ export class DefaultSudoKeyManager {
|
|
|
233
281
|
exportKeys() {
|
|
234
282
|
return this.sudoCryptoProvider.exportKeys();
|
|
235
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
|
+
}
|
|
236
296
|
publicKeyToPEM(key, format) {
|
|
237
297
|
const encoded = Base64.encode(key);
|
|
238
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.0",
|
|
4
4
|
"author": "Anonyome Labs, Inc.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -103,5 +103,8 @@
|
|
|
103
103
|
"ts-jest": 1684846723,
|
|
104
104
|
"typescript": 1684846723
|
|
105
105
|
}
|
|
106
|
+
},
|
|
107
|
+
"auditSuppressions": {
|
|
108
|
+
"1092278": 1688088266
|
|
106
109
|
}
|
|
107
110
|
}
|
|
@@ -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;
|
|
@@ -126,6 +126,48 @@ export interface SudoKeyManager {
|
|
|
126
126
|
* @param publicKey The public key to import.
|
|
127
127
|
*/
|
|
128
128
|
importPublicKeyFromPEM(name: string, publicKey: string): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Exports the private key from the secure store as RSAPrivateKey.
|
|
131
|
+
*
|
|
132
|
+
* @param name The name of the private key.
|
|
133
|
+
*
|
|
134
|
+
* @returns The private key or undefined if the key was not found.
|
|
135
|
+
*/
|
|
136
|
+
exportPrivateKeyAsRSAPrivateKey(name: string): Promise<ArrayBuffer | undefined>;
|
|
137
|
+
/**
|
|
138
|
+
* Imports a RSAPrivateKey into the secure store.
|
|
139
|
+
*
|
|
140
|
+
* @param name The name of the private key.
|
|
141
|
+
* @param privateKey The private key to import.
|
|
142
|
+
*/
|
|
143
|
+
importPrivateKeyFromRSAPrivateKey(name: string, privateKey: ArrayBuffer): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* Exports the public key from the secure store as RSAPublicKey.
|
|
146
|
+
*
|
|
147
|
+
* @param name The name of the public key.
|
|
148
|
+
*
|
|
149
|
+
* @returns The public key or undefined if the key was not found.
|
|
150
|
+
*/
|
|
151
|
+
exportPublicKeyAsRSAPublicKey(name: string): Promise<ArrayBuffer | undefined>;
|
|
152
|
+
/**
|
|
153
|
+
* Imports a RSAPublicKey into the secure store.
|
|
154
|
+
*
|
|
155
|
+
* @param name The name of the public key.
|
|
156
|
+
* @param publicKey The public key to import.
|
|
157
|
+
*/
|
|
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;
|
|
129
171
|
/**
|
|
130
172
|
* Deletes a key pair from the secure store.
|
|
131
173
|
*
|
|
@@ -345,6 +387,10 @@ export declare class DefaultSudoKeyManager implements SudoKeyManager {
|
|
|
345
387
|
getPublicKey(name: string): Promise<PublicKey | undefined>;
|
|
346
388
|
exportPublicKeyAsPEM(name: string, format: PublicKeyFormat): Promise<string | undefined>;
|
|
347
389
|
importPublicKeyFromPEM(name: string, publicKey: string): Promise<void>;
|
|
390
|
+
exportPrivateKeyAsRSAPrivateKey(name: string): Promise<ArrayBuffer | undefined>;
|
|
391
|
+
importPrivateKeyFromRSAPrivateKey(name: string, privateKey: ArrayBuffer): Promise<void>;
|
|
392
|
+
exportPublicKeyAsRSAPublicKey(name: string): Promise<ArrayBuffer | undefined>;
|
|
393
|
+
importPublicKeyFromRSAPublicKey(name: string, publicKey: ArrayBuffer): Promise<void>;
|
|
348
394
|
deleteKeyPair(name: string): Promise<void>;
|
|
349
395
|
generateSignatureWithPrivateKey(name: string, data: ArrayBuffer, options?: SignatureOptions): Promise<ArrayBuffer>;
|
|
350
396
|
verifySignatureWithPublicKey(name: string, data: ArrayBuffer, signature: ArrayBuffer, options?: SignatureOptions): Promise<boolean>;
|
|
@@ -362,5 +408,7 @@ export declare class DefaultSudoKeyManager implements SudoKeyManager {
|
|
|
362
408
|
generateRandomData(size: number): Promise<ArrayBuffer>;
|
|
363
409
|
generateHash(data: ArrayBuffer): Promise<ArrayBuffer>;
|
|
364
410
|
exportKeys(): Promise<KeyData[]>;
|
|
411
|
+
privateKeyInfoToRSAPrivateKey(privateKey: ArrayBuffer): ArrayBuffer;
|
|
412
|
+
publicKeyInfoToRSAPublicKey(publicKey: ArrayBuffer): ArrayBuffer;
|
|
365
413
|
private publicKeyToPEM;
|
|
366
414
|
}
|