@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.
@@ -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) && !isInsecureKeyArchive(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;IAEvB,4DAA4D;IAC5D,mCAA2B;CAC5B,EACD,YAAY,CACb,CAAA;AAID,SAAgB,kBAAkB,CAChC,UAAsB;IAEtB,OAAO,UAAU,CAAC,IAAI,KAAK,4BAAoB,CAAA;AACjD,CAAC;AAJD,gDAIC;AAED,SAAgB,oBAAoB,CAClC,UAAsB;IAEtB,OAAO,UAAU,CAAC,IAAI,KAAK,8BAAsB,CAAA;AACnD,CAAC;AAJD,oDAIC;AAED,SAAgB,wBAAwB,CACtC,UAAsB;IAEtB,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;AAC7E,CAAC;AAJD,4DAIC"}
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,iCAAiC,GAAG;IACxC,GAAG,6BAA6B;IAChC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,OAAO,CAAC,8BAAsB,CAAC;QACjC,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;KAChC,CAAC;IAEF;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM;CACf,CAAA;AAED,gEAAgE;AAChE,6DAA6D;AAC7D,8DAA8D;AAC9D,2DAA2D;AAC9C,QAAA,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAC7C,iCAAiC,EACjC,sBAAsB,CACvB,CAAA;AAID,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;IACvB,iCAAyB;IAEzB,4DAA4D;IAC5D,mCAA2B;CAC5B,EACD,YAAY,CACb,CAAA;AAID,SAAgB,kBAAkB,CAChC,UAAsB;IAEtB,OAAO,UAAU,CAAC,IAAI,KAAK,4BAAoB,CAAA;AACjD,CAAC;AAJD,gDAIC;AAED,SAAgB,oBAAoB,CAClC,UAAsB;IAEtB,OAAO,CACL,UAAU,CAAC,IAAI,KAAK,8BAAsB;QAC1C,UAAU,CAAC,OAAO,KAAK,+BAAuB,CAC/C,CAAA;AACH,CAAC;AAPD,oDAOC;AAED,SAAgB,sBAAsB,CACpC,UAAsB;IAEtB,OAAO,CACL,UAAU,CAAC,IAAI,KAAK,8BAAsB;QAC1C,UAAU,CAAC,OAAO,KAAK,+BAAuB,CAC/C,CAAA;AACH,CAAC;AAPD,wDAOC;AAED,SAAgB,wBAAwB,CACtC,UAAsB;IAEtB,OAAO,CACL,CAAC,kBAAkB,CAAC,UAAU,CAAC;QAC/B,CAAC,oBAAoB,CAAC,UAAU,CAAC;QACjC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CACpC,CAAA;AACH,CAAC;AARD,4DAQC"}
@@ -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
- exports.KeyArchiveKeyInfoCodec = t.type(KeyArchiveKeyInfoRequiredProps, 'KeyArchiveKeyInfo');
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,UAAU,EAAE,CAAC,CAAC,OAAO;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM;CACpB,CAAA;AAEY,QAAA,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAC1C,8BAA8B,EAC9B,mBAAmB,CACpB,CAAA;AAEY,QAAA,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAChD,8BAAsB,EACtB,wBAAwB,CACzB,CAAA"}
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.keyArchiveInfoFromKeyData = exports.DefaultSudoKeyArchive = void 0;
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
- * Specifies whether or not `archiveData` is zipped. If undefined
44
- * then it will be assumed that the input `archiveData` is zipped.
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
- await keyManager.addPrivateKey(keyData, info.Name);
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
- await keyManager.addPublicKey(keyData, info.Name);
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, zip = true) {
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
- const insecureKeyArchive = {
202
- Type: 'Insecure',
203
- MetaInfo: {},
204
- Version: zip
205
- ? DefaultSudoKeyArchive.CURRENT_ARCHIVE_VERSION
206
- : DefaultSudoKeyArchive.PREGZIP_ARCHIVE_VERSION,
207
- Keys: keys,
208
- };
209
- keyArchive = insecureKeyArchive;
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 = (0, fflate_1.gunzipSync)(new Uint8Array(compressedSerializedKeys));
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":"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"}
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) && !isInsecureKeyArchive(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;IAEvB,4DAA4D;IAC5D,2BAA2B;CAC5B,EACD,YAAY,CACb,CAAA;AAID,MAAM,UAAU,kBAAkB,CAChC,UAAsB;IAEtB,OAAO,UAAU,CAAC,IAAI,KAAK,oBAAoB,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,UAAsB;IAEtB,OAAO,UAAU,CAAC,IAAI,KAAK,sBAAsB,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAsB;IAEtB,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;AAC7E,CAAC"}
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
- export const KeyArchiveKeyInfoCodec = t.type(KeyArchiveKeyInfoRequiredProps, 'KeyArchiveKeyInfo');
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,UAAU,EAAE,CAAC,CAAC,OAAO;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM;CACpB,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAC1C,8BAA8B,EAC9B,mBAAmB,CACpB,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAChD,sBAAsB,EACtB,wBAAwB,CACzB,CAAA"}
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
- * Specifies whether or not `archiveData` is zipped. If undefined
41
- * then it will be assumed that the input `archiveData` is zipped.
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
- await keyManager.addPrivateKey(keyData, info.Name);
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
- await keyManager.addPublicKey(keyData, info.Name);
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, zip = true) {
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
- const insecureKeyArchive = {
199
- Type: 'Insecure',
200
- MetaInfo: {},
201
- Version: zip
202
- ? DefaultSudoKeyArchive.CURRENT_ARCHIVE_VERSION
203
- : DefaultSudoKeyArchive.PREGZIP_ARCHIVE_VERSION,
204
- Keys: keys,
205
- };
206
- keyArchive = insecureKeyArchive;
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 = gunzipSync(new Uint8Array(compressedSerializedKeys));
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,iCAAiC,EACjC,+BAA+B,EAC/B,mBAAmB,EACnB,6BAA6B,EAC7B,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAW,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AAEjF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EAEvB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EAExB,eAAe,EAEf,oBAAoB,GACrB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAqB,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAyG7C,MAAM,OAAO,qBAAqB;IAkDhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,YACE,WAA8C,EAC9C,OAMC;QA/Dc,gBAAW,GAAmC,EAAE,CAAA;QAEhD,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;QAuDD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,MAAM,IAAI,oBAAoB,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,oBAAoB,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;IACH,CAAC;IAED;;;OAGG;IACK,WAAW,CACjB,WAAwB,EACxB,MAAe,IAAI;QAEnB,IAAI,QAAqB,CAAA;QAEzB,IAAI;YACF,IAAI,GAAG,EAAE;gBACP,QAAQ,GAAG,UAAU,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;aACnD;iBAAM;gBACL,QAAQ,GAAG,WAAW,CAAA;aACvB;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,uBAAuB,EAAE,CAAA;SACpC;QAED,IAAI,UAAsB,CAAA;QAC1B,IAAI;YACF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CACpC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC1C,CAAA;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;gBACnB,MAAM,IAAI,uBAAuB,EAAE,CAAA;aACpC;YACD,UAAU,GAAG,OAAO,CAAC,KAAK,CAAA;SAC3B;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,uBAAuB,EAAE,CAAA;SACpC;QACD,IAAI,wBAAwB,CAAC,UAAU,CAAC,EAAE;YACxC,IACE,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,IAAI,KAAK,oBAAoB;gBACxC,UAAU,CAAC,IAAI,KAAK,sBAAsB,EAC1C;gBACA,MAAM,IAAI,mBAAmB,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,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;aACrD;YAED,MAAM,IAAI,uBAAuB,EAAE,CAAA;SACpC;QAED,OAAO,UAAU,CAAA;IACnB,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,yBAAyB,CAAC,IAAI,CAAC,CAAA;oBAC7D,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,iBAAiB,CAAC,QAAQ;oBAC7B,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBAChD,MAAK;gBACP,KAAK,iBAAiB,CAAC,UAAU;oBAC/B,MAAM,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBAClD,MAAK;gBACP,KAAK,iBAAiB,CAAC,SAAS;oBAC9B,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBACjD,MAAK;gBACP,KAAK,iBAAiB,CAAC,YAAY;oBACjC,MAAM,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBACpD,MAAK;gBACP;oBACE,MAAM,IAAI,6BAA6B,CACrC,wBAAwB,IAAI,CAAC,IAAc,oBAAoB,CAChE,CAAA;aACJ;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAiC,EACjC,MAAe,IAAI;QAEnB,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,UAAiD,CAAA;QACrD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,kBAAkB,GAAuB;gBAC7C,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,GAAG;oBACV,CAAC,CAAC,qBAAqB,CAAC,uBAAuB;oBAC/C,CAAC,CAAC,qBAAqB,CAAC,uBAAuB;gBACjD,IAAI,EAAE,IAAI;aACX,CAAA;YACD,UAAU,GAAG,kBAAkB,CAAA;SAChC;aAAM;YACL,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAC1D,0BAA0B,CAAC,aAAa,CACzC,CAAA;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CACvE,QAAQ,EACR,IAAI,EACJ;gBACE,MAAM,EAAE,0BAA0B,CAAC,WAAW;aAC/C,CACF,CAAA;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC3C,MAAM,wBAAwB,GAAG,QAAQ,CACvC,UAAU,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,0BAA0B,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,GAAG;oBACV,CAAC,CAAC,qBAAqB,CAAC,uBAAuB;oBAC/C,CAAC,CAAC,qBAAqB,CAAC,uBAAuB;gBACjD,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,0BAA0B,CAAC,WAAW;gBAC9C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;gBAClC,EAAE,EAAE,MAAM,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,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAExD,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,+EAA+E;QAC/E,+BAA+B;QAC/B,OAAO,GAAG;YACR,CAAC,CAAC,QAAQ,CAAC,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,sBAAsB,EAAE,CAAA;SACnC;QAED,IAAI,IAAyB,CAAA;QAE7B,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,+BAA+B,EAAE,CAAA;aAC5C;YAED,IAAI,EAAe,CAAA;YACnB,IAAI,aAA0B,CAAA;YAC9B,IAAI,GAAgB,CAAA;YACpB,IAAI;gBACF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAChD,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;gBACtC,aAAa,GAAG,MAAM,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,uBAAuB,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,gCAAgC,EAAE,CAAA;aAC7C;YACD,IAAI;gBACF,MAAM,cAAc,GAAG,UAAU,CAC/B,IAAI,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAA;gBACD,MAAM,OAAO,GAAG,2BAA2B,CAAC,MAAM,CAChD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAChD,CAAA;gBACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;oBACnB,MAAM,IAAI,uBAAuB,EAAE,CAAA;iBACpC;gBACD,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;aACrB;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,uBAAuB,EAAE,CAAA;aACpC;SACF;aAAM;YACL,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,iCAAiC,EAAE,CAAA;aAC9C;YACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;SAC5B;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,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;aAClC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,uBAAuB,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,gBAAgB,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;;AAjcD;;;;GAIG;AACoB,6CAAuB,GAAG,uBAAuB,AAA1B,CAA0B;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACoB,6CAAuB,GAAG,uBAAuB,AAA1B,CAA0B;AAka1E,MAAM,UAAU,yBAAyB,CACvC,OAAgB;IAEhB,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,mCAAmC,CAAC,OAAO,CAAC,IAAI,CAAC;QACvD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,IAAI;KACjB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,cAA8B;IAE9B,QAAQ,cAAc,EAAE;QACtB,KAAK,cAAc,CAAC,QAAQ;YAC1B,OAAO,iBAAiB,CAAC,QAAQ,CAAA;QACnC,KAAK,cAAc,CAAC,aAAa;YAC/B,OAAO,iBAAiB,CAAC,UAAU,CAAA;QACrC,KAAK,cAAc,CAAC,YAAY;YAC9B,OAAO,iBAAiB,CAAC,SAAS,CAAA;QACpC,KAAK,cAAc,CAAC,YAAY;YAC9B,OAAO,iBAAiB,CAAC,YAAY,CAAA;KACxC;AACH,CAAC"}
1
+ {"version":3,"file":"sudoKeyArchive.js","sourceRoot":"","sources":["../../src/sudoKeyArchive/sudoKeyArchive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,iCAAiC,EACjC,+BAA+B,EAC/B,mBAAmB,EACnB,6BAA6B,EAC7B,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAW,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AAEjF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EAEvB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EAExB,eAAe,EAEf,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAqB,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAkG7C,MAAM,OAAO,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,oBAAoB,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,oBAAoB,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,UAAU,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;aACnD;iBAAM;gBACL,QAAQ,GAAG,WAAW,CAAA;aACvB;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,uBAAuB,EAAE,CAAA;SACpC;QAED,IAAI,UAAsB,CAAA;QAC1B,IAAI;YACF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CACpC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC1C,CAAA;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;gBACnB,MAAM,IAAI,uBAAuB,EAAE,CAAA;aACpC;YACD,UAAU,GAAG,OAAO,CAAC,KAAK,CAAA;SAC3B;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,uBAAuB,EAAE,CAAA;SACpC;QACD,IAAI,wBAAwB,CAAC,UAAU,CAAC,EAAE;YACxC,IACE,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,IAAI,KAAK,oBAAoB;gBACxC,UAAU,CAAC,IAAI,KAAK,sBAAsB,EAC1C;gBACA,MAAM,IAAI,mBAAmB,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,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;aACrD;YAED,MAAM,IAAI,uBAAuB,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,cAAc,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,cAAc,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,MAAM,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,iBAAiB,CAAC,QAAQ;oBAC7B,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBAChD,MAAK;gBACP,KAAK,iBAAiB,CAAC,UAAU;oBAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,uBAAuB,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,iBAAiB,CAAC,SAAS;oBAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,uBAAuB,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,iBAAiB,CAAC,YAAY;oBACjC,MAAM,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBACpD,MAAK;gBACP;oBACE,MAAM,IAAI,6BAA6B,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,MAAM,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,0BAA0B,CAAC,aAAa,CACzC,CAAA;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CACvE,QAAQ,EACR,IAAI,EACJ;gBACE,MAAM,EAAE,0BAA0B,CAAC,WAAW;aAC/C,CACF,CAAA;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC3C,MAAM,wBAAwB,GAAG,QAAQ,CACvC,UAAU,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,0BAA0B,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,0BAA0B,CAAC,WAAW;gBAC9C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;gBAClC,EAAE,EAAE,MAAM,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,UAAU,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,QAAQ,CAAC,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,sBAAsB,EAAE,CAAA;SACnC;QAED,IAAI,IAAyB,CAAA;QAE7B,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,+BAA+B,EAAE,CAAA;aAC5C;YAED,IAAI,EAAe,CAAA;YACnB,IAAI,aAA0B,CAAA;YAC9B,IAAI,GAAgB,CAAA;YACpB,IAAI;gBACF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAChD,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;gBACtC,aAAa,GAAG,MAAM,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,uBAAuB,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,gCAAgC,EAAE,CAAA;aAC7C;YACD,IAAI;gBACF,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,uBAAuB;oBACjD,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,2BAA2B,CAAC,MAAM,CAChD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAChD,CAAA;gBACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;oBACnB,MAAM,IAAI,uBAAuB,EAAE,CAAA;iBACpC;gBACD,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;aACrB;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,uBAAuB,EAAE,CAAA;aACpC;SACF;aAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAChD,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,iCAAiC,EAAE,CAAA;aAC9C;YACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;SAC5B;aAAM;YACL,iEAAiE;YACjE,mCAAmC;YACnC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC1D,IAAI;gBACF,MAAM,OAAO,GAAG,2BAA2B,CAAC,MAAM,CAChD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAChD,CAAA;gBACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;oBACnB,MAAM,IAAI,uBAAuB,EAAE,CAAA;iBACpC;gBACD,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;aACrB;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,uBAAuB,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,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;aAClC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,uBAAuB,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,gBAAgB,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;;AAhhBD;;;;GAIG;AACoB,6CAAuB,GAAG,uBAAuB,AAA1B,CAA0B;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACoB,6CAAuB,GAAG,uBAAuB,AAA1B,CAA0B;AAif1E,MAAM,UAAU,mCAAmC,CACjD,cAA8B;IAE9B,QAAQ,cAAc,EAAE;QACtB,KAAK,cAAc,CAAC,QAAQ;YAC1B,OAAO,iBAAiB,CAAC,QAAQ,CAAA;QACnC,KAAK,cAAc,CAAC,aAAa;YAC/B,OAAO,iBAAiB,CAAC,UAAU,CAAA;QACrC,KAAK,cAAc,CAAC,YAAY;YAC9B,OAAO,iBAAiB,CAAC,SAAS,CAAA;QACpC,KAAK,cAAc,CAAC,YAAY;YAC9B,OAAO,iBAAiB,CAAC,YAAY,CAAA;KACxC;AACH,CAAC"}
@@ -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":"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"}
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;AAidD,MAAM,OAAO,qBAAqB;IAChC;;;;OAIG;IACH,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAEvE,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAA;IACjD,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAA;IAC/C,CAAC;IAEM,WAAW,CAAC,QAAqB,EAAE,IAAY;QACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC;IAEM,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAEM,cAAc,CAAC,IAAY;QAChC,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAEM,cAAc,CAAC,QAAqB,EAAE,IAAY;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/D,CAAC;IAEM,eAAe,CAAC,GAAgB,EAAE,IAAY;QACnD,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IAEM,eAAe,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;IAEM,qBAAqB,CAAC,IAAY;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC5D,CAAC;IAEM,kBAAkB,CAAC,IAAY;QACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IAEM,eAAe,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;IAEM,aAAa,CAAC,GAAgB,EAAE,IAAY;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACzD,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAEM,mBAAmB,CAAC,IAAY;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAEM,YAAY,CAAC,GAAgB,EAAE,IAAY;QAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;IAEM,eAAe,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;IAEM,YAAY,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACnD,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAC/B,IAAY,EACZ,MAAuB;QAEvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAE/C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,SAAS,CAAA;SACjB;QAED,IAAI,SAAS,CAAC,SAAS,KAAK,eAAe,CAAC,YAAY,EAAE;YACxD,IAAI,MAAM,KAAK,eAAe,CAAC,YAAY,EAAE;gBAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;aACtD;iBAAM;gBACL,oDAAoD;gBACpD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAA;gBACtC,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBAC7C,WAAW,EAAE,GAAG,CAAC,aAAa;oBAC9B,eAAe,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;iBACnC,CAAC,CAAA;gBACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC;oBAC3C,QAAQ,EAAE,SAAS,CAAC,OAAO;iBAC5B,CAAC,CAAA;gBAEF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;aAC5D;SACF;aAAM;YACL,IAAI,MAAM,KAAK,eAAe,CAAC,IAAI,EAAE;gBACnC,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;aACtD;iBAAM;gBACL,oDAAoD;gBACpD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBACpE,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAA;gBACtE,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;aAC5C;SACF;IACH,CAAC;IAEM,KAAK,CAAC,sBAAsB,CACjC,IAAY,EACZ,SAAiB;QAEjB,IAAI,MAAuB,CAAA;QAC3B,IACE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC;YAC1C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,EAC1C;YACA,MAAM,GAAG,eAAe,CAAC,YAAY,CAAA;SACtC;aAAM,IACL,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;YACvC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,EACvC;YACA,MAAM,GAAG,eAAe,CAAC,IAAI,CAAA;SAC9B;aAAM;YACL,MAAM,IAAI,oBAAoB,EAAE,CAAA;SACjC;QAED,MAAM,QAAQ,GAAG,SAAS;aACvB,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;aACvC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACtB,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,MAAM,KAAK,eAAe,CAAC,YAAY,EAAE;YAC3C,sDAAsD;YACtD,uDAAuD;YACvD,wDAAwD;YACxD,qBAAqB;YACrB,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAA;YACtC,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC;gBAC7C,WAAW,EAAE,GAAG,CAAC,aAAa;gBAC9B,eAAe,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;aACnC,CAAC,CAAA;YACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC;gBAC3C,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAA;YACF,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAA;SAClC;QACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IAEM,KAAK,CAAC,+BAA+B,CAC1C,IAAY;QAEZ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAEjD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAA;IACvD,CAAC;IAEM,KAAK,CAAC,iCAAiC,CAC5C,IAAY,EACZ,UAAuB;QAEvB,6DAA6D;QAC7D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAA;QACtC,GAAG,CAAC,mBAAmB,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC;YACtD,WAAW,EAAE,GAAG,CAAC,aAAa;YAC9B,eAAe,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;SACnC,CAAC,CAAA;QACF,GAAG,CAAC,UAAU,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC;YACtC,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAA;QAEtC,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC;IAEM,KAAK,CAAC,6BAA6B,CACxC,IAAY;QAEZ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAE/C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,SAAS,CAAA;SACjB;QAED,QAAQ,SAAS,CAAC,SAAS,EAAE;YAC3B,KAAK,eAAe,CAAC,YAAY;gBAC/B,OAAO,SAAS,CAAC,OAAO,CAAA;YAC1B,KAAK,eAAe,CAAC,IAAI;gBACvB,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;SAC7D;IACH,CAAC;IAEM,KAAK,CAAC,+BAA+B,CAC1C,IAAY,EACZ,SAAsB;QAEtB,sDAAsD;QACtD,uDAAuD;QACvD,wDAAwD;QACxD,qBAAqB;QACrB,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAA;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC;YAC7C,WAAW,EAAE,GAAG,CAAC,aAAa;YAC9B,eAAe,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;SACnC,CAAC,CAAA;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC;YAC3C,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAA;QAEvC,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAEM,+BAA+B,CACpC,IAAY,EACZ,IAAiB,EACjB,OAA0B;QAE1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,+BAA+B,CAC5D,IAAI,EACJ,IAAI,EACJ,OAAO,CACR,CAAA;IACH,CAAC;IAED,4BAA4B,CAC1B,IAAY,EACZ,IAAiB,EACjB,SAAsB,EACtB,OAA0B;QAE1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CACzD,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,OAAO,CACR,CAAA;IACH,CAAC;IAEM,uBAAuB,CAC5B,GAAgB,EAChB,IAAiB,EACjB,WAAsD;QAEtD,IAAI,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE;gBAChE,EAAE,EAAE,WAAW;aAChB,CAAC,CAAA;SACH;aAAM;YACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CACpD,GAAG,EACH,IAAI,EACJ,WAAW,CACZ,CAAA;SACF;IACH,CAAC;IAEM,uBAAuB,CAC5B,GAAgB,EAChB,IAAiB,EACjB,WAAsD;QAEtD,IAAI,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE;gBAChE,EAAE,EAAE,WAAW;aAChB,CAAC,CAAA;SACH;aAAM;YACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CACpD,GAAG,EACH,IAAI,EACJ,WAAW,CACZ,CAAA;SACF;IACH,CAAC;IAEM,2BAA2B,CAChC,IAAY,EACZ,IAAiB,EACjB,WAAsD;QAEtD,IAAI,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE;gBACrE,EAAE,EAAE,WAAW;aAChB,CAAC,CAAA;SACH;aAAM;YACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CACxD,IAAI,EACJ,IAAI,EACJ,WAAW,CACZ,CAAA;SACF;IACH,CAAC;IAEM,2BAA2B,CAChC,IAAY,EACZ,IAAiB,EACjB,WAAsD;QAEtD,IAAI,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE;gBACrE,EAAE,EAAE,WAAW;aAChB,CAAC,CAAA;SACH;aAAM;YACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CACxD,IAAI,EACJ,IAAI,EACJ,WAAW,CACZ,CAAA;SACF;IACH,CAAC;IAEM,oBAAoB,CACzB,IAAY,EACZ,IAAiB,EACjB,OAAqC;QAErC,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;IAEM,qBAAqB,CAC1B,IAAY,EACZ,IAAiB,EACjB,OAAqC;QAErC,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC3E,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAA;IAChD,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC3D,CAAC;IAEM,gCAAgC,CACrC,QAAqB,EACrB,IAAiB,EACjB,OAA6B;QAE7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,gCAAgC,CAC7D,QAAQ,EACR,IAAI,EACJ,OAAO,CACR,CAAA;IACH,CAAC;IAEM,kBAAkB,CAAC,IAAY;QACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IAEM,YAAY,CAAC,IAAiB;QACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACnD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC;IAEM,6BAA6B,CAAC,UAAuB;QAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC/D,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAA;QACnE,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,oBAAoB,CAAC,kCAAkC,CAAC,CAAA;SACnE;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;IAEM,2BAA2B,CAAC,SAAsB;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC5D,OAAO,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAA;IAC/D,CAAC;IAEO,cAAc,CAAC,GAAgB,EAAE,MAAuB;QAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,oBAAoB,EAAE,CAAA;SACjC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,CACL,aAAa;YACb,CAAC,MAAM,KAAK,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,mBAAmB;YACnB,SAAS;YACT,aAAa;YACb,CAAC,MAAM,KAAK,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,iBAAiB,CAClB,CAAA;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudoplatform/sudo-common",
3
- "version": "8.6.1",
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
- export declare const KeyArchiveKeyInfoArrayCodec: t.ArrayC<t.TypeC<{
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 { KeyData, KeyDataKeyType } from '../sudoKeyManager';
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, zip?: boolean): Promise<ArrayBuffer>;
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
- * Specifies whether or not `archiveData` is zipped. If undefined
156
- * then it will be assumed that the input `archiveData` is zipped.
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, zip?: boolean): Promise<ArrayBuffer>;
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
  }