You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-11-23 17:02:25 +03:00
Rust-crypto: fix bootstrapCrossSigning on second call (#3912)
* Rust-crypto: fix `bootstrapCrossSigning` on second call Currently, `bootstrapCrossSigning` raises an exception if it is called a second time before secret storage is set up. It is easily fixed by checking that 4S is set up before trying to export to 4S. Also a few logging fixes while we're in the area. * Factor out an `AccountDataAccumulator` * Another test for bootstrapCrossSigning
This commit is contained in:
committed by
GitHub
parent
f4b6f91ee2
commit
b515cdbdbb
@@ -769,6 +769,7 @@ export class RustCrypto extends TypedEventEmitter<RustCryptoEvents, RustCryptoEv
|
||||
}
|
||||
|
||||
// Create a new storage key and add it to secret storage
|
||||
this.logger.info("bootstrapSecretStorage: creating new secret storage key");
|
||||
const recoveryKey = await createSecretStorageKey();
|
||||
await this.addSecretStorageKeyToSecretStorage(recoveryKey);
|
||||
}
|
||||
@@ -783,6 +784,8 @@ export class RustCrypto extends TypedEventEmitter<RustCryptoEvents, RustCryptoEv
|
||||
hasPrivateKeys &&
|
||||
(isNewSecretStorageKeyNeeded || !(await secretStorageContainsCrossSigningKeys(this.secretStorage)))
|
||||
) {
|
||||
this.logger.info("bootstrapSecretStorage: cross-signing keys not yet exported; doing so now.");
|
||||
|
||||
const crossSigningPrivateKeys: RustSdkCryptoJs.CrossSigningKeyExport =
|
||||
await this.olmMachine.exportCrossSigningKeys();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user