@libp2p/keychain 5.1.4-b2124c2db → 5.1.4-d53ef170c

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.
@@ -95,6 +95,12 @@ export interface KeyInfo {
95
95
  */
96
96
  name: string;
97
97
  }
98
+ export interface X509Info {
99
+ /**
100
+ * The local key name
101
+ */
102
+ name: string;
103
+ }
98
104
  export interface Keychain {
99
105
  /**
100
106
  * Find a key by name
@@ -184,6 +190,28 @@ export interface Keychain {
184
190
  * ```
185
191
  */
186
192
  listKeys(): Promise<KeyInfo[]>;
193
+ /**
194
+ * Import an X509 certificate in PEM format
195
+ */
196
+ importX509(name: string, pem: string): Promise<void>;
197
+ /**
198
+ * Export an X509 certificate in PEM format
199
+ */
200
+ exportX509(name: string): Promise<string>;
201
+ /**
202
+ * Removes an X509 certificate from the keychain
203
+ */
204
+ removeX509(name: string): Promise<void>;
205
+ /**
206
+ * List all certificates.
207
+ *
208
+ * @example
209
+ *
210
+ * ```TypeScript
211
+ * const certs = await libp2p.keychain.listX509()
212
+ * ```
213
+ */
214
+ listX509(): Promise<X509Info[]>;
187
215
  /**
188
216
  * Rotate keychain password and re-encrypt all associated keys
189
217
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,GAAG,CAAC,EAAE,SAAS,CAAA;IAEf;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE7C;;;;;;;;;;;;OAYG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE1C;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE1D;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE5C;;;;;;;;;OASG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEzC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE7D;;;;;;;;OAQG;IACH,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAE9B;;;;;;;;OAQG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpE;AAED,wBAAgB,QAAQ,CAAE,IAAI,GAAE,YAAiB,GAAG,CAAC,UAAU,EAAE,kBAAkB,KAAK,QAAQ,CAI/F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,GAAG,CAAC,EAAE,SAAS,CAAA;IAEf;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE7C;;;;;;;;;;;;OAYG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE1C;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE1D;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE5C;;;;;;;;;OASG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEzC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE7D;;;;;;;;OAQG;IACH,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAErD;;OAEG;IACH,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAE1C;;OAEG;IACH,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExC;;;;;;;;OAQG;IACH,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAE/B;;;;;;;;OAQG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpE;AAED,wBAAgB,QAAQ,CAAE,IAAI,GAAE,YAAiB,GAAG,CAAC,UAAU,EAAE,kBAAkB,KAAK,QAAQ,CAI/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAkKzD,MAAM,UAAU,QAAQ,CAAE,OAAqB,EAAE;IAC/C,OAAO,CAAC,UAA8B,EAAE,EAAE;QACxC,OAAO,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAmMzD,MAAM,UAAU,QAAQ,CAAE,OAAqB,EAAE;IAC/C,OAAO,CAAC,UAA8B,EAAE,EAAE;QACxC,OAAO,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { serviceCapabilities } from '@libp2p/interface';
2
- import type { KeychainComponents, KeychainInit, Keychain as KeychainInterface, KeyInfo } from './index.js';
2
+ import type { KeychainComponents, KeychainInit, Keychain as KeychainInterface, KeyInfo, X509Info } from './index.js';
3
3
  import type { PrivateKey } from '@libp2p/interface';
4
4
  declare const defaultOptions: {
5
5
  dek: {
@@ -61,6 +61,13 @@ export declare class Keychain implements KeychainInterface {
61
61
  * @returns {Promise<KeyInfo>}
62
62
  */
63
63
  renameKey(oldName: string, newName: string): Promise<KeyInfo>;
64
+ /**
65
+ * List all the certificates
66
+ */
67
+ listX509(): Promise<X509Info[]>;
68
+ importX509(name: string, pem: string): Promise<void>;
69
+ exportX509(name: string): Promise<string>;
70
+ removeX509(name: string): Promise<void>;
64
71
  /**
65
72
  * Rotate keychain password and re-encrypt all associated keys
66
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../src/keychain.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyC,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAU9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,IAAI,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC1G,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAa3D,QAAA,MAAM,cAAc;;;;;;;CAQnB,CAAA;AAwCD,wBAAsB,KAAK,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7D;AAED;;;;;;;GAOG;AACH,qBAAa,QAAS,YAAW,iBAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAE7B;;OAEG;gBACU,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY;IAgC/D,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAqB;IAElD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,IAAK,YAAY;IAOvC;;;;;OAKG;IACH,MAAM,KAAK,OAAO,IAAK,OAAO,cAAc,CAE3C;IAEK,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB9C,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB1C,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IA6C3D,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAyB7C,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBhD;;;;OAIG;IACG,QAAQ,IAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAarC;;;;;;OAMG;IACG,SAAS,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCpE;;OAEG;IACG,kBAAkB,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmD3E"}
1
+ {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../src/keychain.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyC,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAU9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,IAAI,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAc3D,QAAA,MAAM,cAAc;;;;;;;CAQnB,CAAA;AAwCD,wBAAsB,KAAK,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7D;AAED;;;;;;;GAOG;AACH,qBAAa,QAAS,YAAW,iBAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAE7B;;OAEG;gBACU,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY;IAgC/D,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAqB;IAElD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,IAAK,YAAY;IAOvC;;;;;OAKG;IACH,MAAM,KAAK,OAAO,IAAK,OAAO,cAAc,CAE3C;IAEK,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB9C,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB1C,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IA6C3D,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAyB7C,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBhD;;;;OAIG;IACG,QAAQ,IAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAarC;;;;;;OAMG;IACG,SAAS,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCpE;;OAEG;IACG,QAAQ,IAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;IAehC,UAAU,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCrD,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyB1C,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9C;;OAEG;IACG,kBAAkB,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4D3E"}
@@ -9,9 +9,10 @@ import { sha256 } from 'multiformats/hashes/sha2';
9
9
  import sanitize from 'sanitize-filename';
10
10
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
11
11
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
12
- import { exportPrivateKey } from './utils/export.js';
13
- import { importPrivateKey } from './utils/import.js';
12
+ import { exportPrivateKey, exporter } from './utils/export.js';
13
+ import { importPrivateKey, importer } from './utils/import.js';
14
14
  const keyPrefix = '/pkcs8/';
15
+ const certPrefix = '/x509/';
15
16
  const infoPrefix = '/info/';
16
17
  const privates = new WeakMap();
17
18
  // NIST SP 800-132
@@ -53,8 +54,8 @@ async function randomDelay() {
53
54
  /**
54
55
  * Converts a key name into a datastore name
55
56
  */
56
- function DsName(name) {
57
- return new Key(keyPrefix + name);
57
+ function DsName(prefix, name) {
58
+ return new Key(prefix + name);
58
59
  }
59
60
  /**
60
61
  * Converts a key name into a datastore info name
@@ -173,7 +174,7 @@ export class Keychain {
173
174
  await randomDelay();
174
175
  throw new InvalidParametersError('Key is required');
175
176
  }
176
- const datastoreName = DsName(name);
177
+ const datastoreName = DsName(keyPrefix, name);
177
178
  const exists = await this.components.datastore.has(datastoreName);
178
179
  if (exists) {
179
180
  await randomDelay();
@@ -209,7 +210,7 @@ export class Keychain {
209
210
  await randomDelay();
210
211
  throw new InvalidParametersError(`Invalid key name '${name}'`);
211
212
  }
212
- const datastoreName = DsName(name);
213
+ const datastoreName = DsName(keyPrefix, name);
213
214
  try {
214
215
  const res = await this.components.datastore.get(datastoreName);
215
216
  const pem = uint8ArrayToString(res);
@@ -230,7 +231,7 @@ export class Keychain {
230
231
  await randomDelay();
231
232
  throw new InvalidParametersError(`Invalid key name '${name}'`);
232
233
  }
233
- const datastoreName = DsName(name);
234
+ const datastoreName = DsName(keyPrefix, name);
234
235
  const keyInfo = await this.findKeyByName(name);
235
236
  const batch = this.components.datastore.batch();
236
237
  batch.delete(datastoreName);
@@ -269,8 +270,8 @@ export class Keychain {
269
270
  await randomDelay();
270
271
  throw new InvalidParametersError(`Invalid new key name '${newName}'`);
271
272
  }
272
- const oldDatastoreName = DsName(oldName);
273
- const newDatastoreName = DsName(newName);
273
+ const oldDatastoreName = DsName(keyPrefix, oldName);
274
+ const newDatastoreName = DsName(keyPrefix, newName);
274
275
  const oldInfoName = DsInfoName(oldName);
275
276
  const newInfoName = DsInfoName(newName);
276
277
  const exists = await this.components.datastore.has(newDatastoreName);
@@ -296,6 +297,84 @@ export class Keychain {
296
297
  throw err;
297
298
  }
298
299
  }
300
+ /**
301
+ * List all the certificates
302
+ */
303
+ async listX509() {
304
+ const query = {
305
+ prefix: certPrefix
306
+ };
307
+ const info = [];
308
+ for await (const value of this.components.datastore.query(query)) {
309
+ info.push({
310
+ name: value.key.toString().replace(certPrefix, '')
311
+ });
312
+ }
313
+ return info;
314
+ }
315
+ async importX509(name, pem) {
316
+ try {
317
+ if (!validateKeyName(name)) {
318
+ throw new InvalidParametersError(`Invalid certificate name '${name}'`);
319
+ }
320
+ if (pem == null) {
321
+ throw new InvalidParametersError('PEM is required');
322
+ }
323
+ if (!pem.includes('-----BEGIN CERTIFICATE-----') && !pem.includes('-----END CERTIFICATE-----')) {
324
+ throw new InvalidParametersError('PEM was invalid');
325
+ }
326
+ const datastoreName = DsName(certPrefix, name);
327
+ const exists = await this.components.datastore.has(datastoreName);
328
+ if (exists) {
329
+ throw new InvalidParametersError(`Certificate '${name}' already exists`);
330
+ }
331
+ const cached = privates.get(this);
332
+ if (cached == null) {
333
+ throw new InvalidParametersError('dek missing');
334
+ }
335
+ const dek = cached.dek;
336
+ const dsPem = await exporter(uint8ArrayFromString(pem), dek);
337
+ await this.components.datastore.put(datastoreName, uint8ArrayFromString(dsPem));
338
+ }
339
+ catch (err) {
340
+ await randomDelay();
341
+ throw err;
342
+ }
343
+ }
344
+ async exportX509(name) {
345
+ try {
346
+ if (!validateKeyName(name)) {
347
+ throw new InvalidParametersError(`Invalid key name '${name}'`);
348
+ }
349
+ const datastoreName = DsName(certPrefix, name);
350
+ const res = await this.components.datastore.get(datastoreName);
351
+ const encryptedPem = uint8ArrayToString(res);
352
+ const cached = privates.get(this);
353
+ if (cached == null) {
354
+ throw new InvalidParametersError('dek missing');
355
+ }
356
+ const dek = cached.dek;
357
+ const buf = await importer(encryptedPem, dek);
358
+ return uint8ArrayToString(buf);
359
+ }
360
+ catch (err) {
361
+ await randomDelay();
362
+ throw err;
363
+ }
364
+ }
365
+ async removeX509(name) {
366
+ try {
367
+ if (!validateKeyName(name) || name === this.self) {
368
+ throw new InvalidParametersError(`Invalid key name '${name}'`);
369
+ }
370
+ const datastoreName = DsName(certPrefix, name);
371
+ await this.components.datastore.delete(datastoreName);
372
+ }
373
+ catch (err) {
374
+ await randomDelay();
375
+ throw err;
376
+ }
377
+ }
299
378
  /**
300
379
  * Rotate keychain password and re-encrypt all associated keys
301
380
  */
@@ -323,23 +402,26 @@ export class Keychain {
323
402
  ? pbkdf2(newPass, this.init.dek.salt, this.init.dek?.iterationCount, this.init.dek?.keyLength, this.init.dek?.hash)
324
403
  : '';
325
404
  privates.set(this, { dek: newDek });
326
- const keys = await this.listKeys();
327
- for (const key of keys) {
328
- const res = await this.components.datastore.get(DsName(key.name));
405
+ const batch = this.components.datastore.batch();
406
+ for (const key of await this.listKeys()) {
407
+ const res = await this.components.datastore.get(DsName(keyPrefix, key.name));
329
408
  const pem = uint8ArrayToString(res);
330
409
  const privateKey = await importPrivateKey(pem, oldDek);
331
410
  const password = newDek.toString();
332
411
  const keyAsPEM = await exportPrivateKey(privateKey, password, privateKey.type === 'RSA' ? 'pkcs-8' : 'libp2p-key');
333
- // Update stored key
334
- const batch = this.components.datastore.batch();
335
- const keyInfo = {
336
- name: key.name,
337
- id: key.id
338
- };
339
- batch.put(DsName(key.name), uint8ArrayFromString(keyAsPEM));
340
- batch.put(DsInfoName(key.name), uint8ArrayFromString(JSON.stringify(keyInfo)));
341
- await batch.commit();
412
+ // add to batch
413
+ batch.put(DsName(keyPrefix, key.name), uint8ArrayFromString(keyAsPEM));
342
414
  }
415
+ for (const key of await this.listX509()) {
416
+ // decrypt using old password and encrypt using new
417
+ const res = await this.components.datastore.get(DsName(certPrefix, key.name));
418
+ const pem = uint8ArrayToString(res);
419
+ const decrypted = await importer(pem, oldDek);
420
+ const encrypted = await exporter(decrypted, newDek);
421
+ // add to batch
422
+ batch.put(DsName(certPrefix, key.name), uint8ArrayFromString(encrypted));
423
+ }
424
+ await batch.commit();
343
425
  this.log('keychain reconstructed');
344
426
  }
345
427
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/keychain.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC9F,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIpD,MAAM,SAAS,GAAG,SAAS,CAAA;AAC3B,MAAM,UAAU,GAAG,QAAQ,CAAA;AAC3B,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA2B,CAAA;AAEvD,kBAAkB;AAClB,MAAM,IAAI,GAAG;IACX,YAAY,EAAE,GAAG,GAAG,CAAC;IACrB,aAAa,EAAE,GAAG,GAAG,CAAC;IACtB,iBAAiB,EAAE,IAAI;CACxB,CAAA;AAED,MAAM,cAAc,GAAG;IACrB,4DAA4D;IAC5D,GAAG,EAAE;QACH,SAAS,EAAE,GAAG,GAAG,CAAC;QAClB,cAAc,EAAE,KAAK;QACrB,IAAI,EAAE,mEAAmE;QACzE,IAAI,EAAE,UAAU;KACjB;CACF,CAAA;AAED,SAAS,eAAe,CAAE,IAAY;IACpC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,WAAW;IACxB,MAAM,GAAG,GAAG,GAAG,CAAA;IACf,MAAM,GAAG,GAAG,IAAI,CAAA;IAChB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;IAE/C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAE,IAAY;IAC3B,OAAO,IAAI,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAE,IAAY;IAC/B,OAAO,IAAI,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAE,GAAe;IAC1C,MAAM,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAEpC,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,QAAQ;IACF,UAAU,CAAoB;IAC9B,IAAI,CAAc;IAClB,GAAG,CAAQ;IACX,IAAI,CAAQ;IAE7B;;OAEG;IACH,YAAa,UAA8B,EAAE,IAAkB;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;QAC5D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAA;QAElC,0BAA0B;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,YAAY,QAAQ,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,aAAa,QAAQ,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnG,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAC/E,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI;YAC/D,CAAC,CAAC,MAAM,CACN,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EACnB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EACxB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;YACtB,CAAC,CAAC,EAAE,CAAA;QAEN,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAC7B,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAA;IAEzC,CAAC,mBAAmB,CAAC,GAAa;QACzC,kBAAkB;KACnB,CAAA;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,oBAAoB;QAC7E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;QACxE,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACH,MAAM,KAAK,OAAO;QAChB,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,aAAa,CAAE,IAAY;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,WAAW,EAAE,CAAA;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACnB,MAAM,IAAI,aAAa,CAAC,QAAQ,IAAI,mBAAmB,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAE,EAAU;QAC3B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG;gBACZ,MAAM,EAAE,UAAU;aACnB,CAAA;YAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;gBAEvD,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;oBAClB,OAAO,GAAG,CAAA;gBACZ,CAAC;YACH,CAAC;YAED,MAAM,IAAI,sBAAsB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAA;QACzE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,IAAY,EAAE,GAAe;QAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;QACrD,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACjE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,GAAW,CAAA;QACf,IAAI,GAAW,CAAA;QACf,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAEjC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAA;YACjD,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;YACtB,GAAG,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QACtF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,GAAG,CAAA;QACX,CAAC;QAED,MAAM,OAAO,GAAG;YACd,IAAI;YACJ,EAAE,EAAE,GAAG;SACR,CAAA;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QAC/C,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC1E,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;QAEpB,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,IAAY;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC9D,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAEjC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAA;YACjD,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;YAEtB,OAAO,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,IAAY;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QAC/C,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAC3B,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;QAEpB,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,KAAK,GAAG;YACZ,MAAM,EAAE,UAAU;SACnB,CAAA;QAED,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAE,OAAe,EAAE,OAAe;QAC/C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,yBAAyB,OAAO,GAAG,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,yBAAyB,OAAO,GAAG,CAAC,CAAA;QACvE,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAEvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,QAAQ,OAAO,kBAAkB,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YACjE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAE5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;YACnD,OAAO,CAAC,IAAI,GAAG,OAAO,CAAA;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;YAC/C,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;YAChC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACrE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC9B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YACzB,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;YACpB,OAAO,OAAO,CAAA;QAChB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAE,OAAe,EAAE,OAAe;QACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,OAAO,OAAO,GAAG,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,OAAO,OAAO,GAAG,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxB,MAAM,WAAW,EAAE,CAAA;YACnB,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEjC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAA;QACxB,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI;YAC3D,CAAC,CAAC,MAAM,CACN,OAAO,EACP,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAClB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EACxB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;YACtB,CAAC,CAAC,EAAE,CAAA;QACN,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YACjE,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YAClC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;YAElH,oBAAoB;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;YAC/C,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;aACX,CAAA;YACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC3D,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC9E,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/keychain.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Ed25519PrivateKey, PrivateKey, RSAPrivateKey, Secp256k1PrivateKey } from '@libp2p/interface';
1
+ import type { ECDSAPrivateKey, Ed25519PrivateKey, PrivateKey, RSAPrivateKey, Secp256k1PrivateKey } from '@libp2p/interface';
2
2
  import type { Multibase } from 'multiformats/bases/interface';
3
3
  /**
4
4
  * Exports the given PrivateKey as a base64 encoded string.
@@ -21,6 +21,10 @@ export declare function exportEd25519PrivateKey(key: Ed25519PrivateKey, password
21
21
  * Exports the key into a password protected `format`
22
22
  */
23
23
  export declare function exportSecp256k1PrivateKey(key: Secp256k1PrivateKey, password: string, format?: ExportFormat): Promise<Multibase<'m'>>;
24
+ /**
25
+ * Exports the key into a password protected `format`
26
+ */
27
+ export declare function exportECDSAPrivateKey(key: ECDSAPrivateKey, password: string, format?: ExportFormat): Promise<Multibase<'m'>>;
24
28
  /**
25
29
  * Exports the key as libp2p-key - a aes-gcm encrypted value with the key
26
30
  * derived from the password.
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/utils/export.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D;;;;GAIG;AACH,wBAAsB,QAAQ,CAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAIjG;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAA;AAElD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAczH;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,YAA2B,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAMrJ;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,YAA2B,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAMzJ;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,YAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAQzI;AAED,wBAAsB,WAAW,CAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0H/F"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/utils/export.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC3H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D;;;;GAIG;AACH,wBAAsB,QAAQ,CAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAIjG;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAA;AAElD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAkBzH;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,YAA2B,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAMrJ;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,YAA2B,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAMzJ;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,YAA2B,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAMjJ;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,YAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAQzI;AAED,wBAAsB,WAAW,CAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0H/F"}
@@ -34,6 +34,9 @@ export async function exportPrivateKey(key, password, format) {
34
34
  if (key.type === 'secp256k1') {
35
35
  return exportSecp256k1PrivateKey(key, password, format);
36
36
  }
37
+ if (key.type === 'ECDSA') {
38
+ return exportECDSAPrivateKey(key, password, format);
39
+ }
37
40
  throw new UnsupportedKeyTypeError();
38
41
  }
39
42
  /**
@@ -58,6 +61,17 @@ export async function exportSecp256k1PrivateKey(key, password, format = 'libp2p-
58
61
  throw new InvalidParametersError('Export format is not supported');
59
62
  }
60
63
  }
64
+ /**
65
+ * Exports the key into a password protected `format`
66
+ */
67
+ export async function exportECDSAPrivateKey(key, password, format = 'libp2p-key') {
68
+ if (format === 'libp2p-key') {
69
+ return exporter(privateKeyToProtobuf(key), password);
70
+ }
71
+ else {
72
+ throw new InvalidParametersError(`export format '${format}' is not supported`);
73
+ }
74
+ }
61
75
  /**
62
76
  * Exports the key as libp2p-key - a aes-gcm encrypted value with the key
63
77
  * derived from the password.
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/utils/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/utils/export.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/keychain",
3
- "version": "5.1.4-b2124c2db",
3
+ "version": "5.1.4-d53ef170c",
4
4
  "description": "Key management and cryptographically protected messages",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/keychain#readme",
@@ -59,8 +59,8 @@
59
59
  "test:electron-main": "aegir test -t electron-main"
60
60
  },
61
61
  "dependencies": {
62
- "@libp2p/crypto": "5.0.15-b2124c2db",
63
- "@libp2p/interface": "2.7.0-b2124c2db",
62
+ "@libp2p/crypto": "5.0.15-d53ef170c",
63
+ "@libp2p/interface": "2.7.0-d53ef170c",
64
64
  "@noble/hashes": "^1.6.1",
65
65
  "asn1js": "^3.0.5",
66
66
  "interface-datastore": "^8.3.1",
@@ -70,7 +70,8 @@
70
70
  "uint8arrays": "^5.1.0"
71
71
  },
72
72
  "devDependencies": {
73
- "@libp2p/logger": "5.1.13-b2124c2db",
73
+ "@libp2p/logger": "5.1.13-d53ef170c",
74
+ "@peculiar/x509": "^1.12.3",
74
75
  "aegir": "^45.1.1",
75
76
  "datastore-core": "^10.0.2"
76
77
  },
package/src/index.ts CHANGED
@@ -105,6 +105,13 @@ export interface KeyInfo {
105
105
  name: string
106
106
  }
107
107
 
108
+ export interface X509Info {
109
+ /**
110
+ * The local key name
111
+ */
112
+ name: string
113
+ }
114
+
108
115
  export interface Keychain {
109
116
  /**
110
117
  * Find a key by name
@@ -201,6 +208,32 @@ export interface Keychain {
201
208
  */
202
209
  listKeys(): Promise<KeyInfo[]>
203
210
 
211
+ /**
212
+ * Import an X509 certificate in PEM format
213
+ */
214
+ importX509 (name: string, pem: string): Promise<void>
215
+
216
+ /**
217
+ * Export an X509 certificate in PEM format
218
+ */
219
+ exportX509 (name: string): Promise<string>
220
+
221
+ /**
222
+ * Removes an X509 certificate from the keychain
223
+ */
224
+ removeX509 (name: string): Promise<void>
225
+
226
+ /**
227
+ * List all certificates.
228
+ *
229
+ * @example
230
+ *
231
+ * ```TypeScript
232
+ * const certs = await libp2p.keychain.listX509()
233
+ * ```
234
+ */
235
+ listX509(): Promise<X509Info[]>
236
+
204
237
  /**
205
238
  * Rotate keychain password and re-encrypt all associated keys
206
239
  *