diff --git a/src/CrossSigningManager.js b/src/CrossSigningManager.js index b580fd7f8d..1a0c7fefa4 100644 --- a/src/CrossSigningManager.js +++ b/src/CrossSigningManager.js @@ -63,11 +63,14 @@ export const getSecretStorageKey = async ({ keys: keyInfos }) => { throw new Error("Secret storage access canceled"); } let key; - const { passphrase } = info; - if (passphrase) { - key = await deriveKey(input, passphrase.salt, passphrase.iterations); + if (input.passphrase) { + key = await deriveKey( + input.passphrase, + info.passphrase.salt, + info.passphrase.iterations, + ); } else { - key = decodeRecoveryKey(input); + key = decodeRecoveryKey(input.recoveryKey); } // Save to cache to avoid future prompts in the current session secretStorageKeys[name] = key; diff --git a/src/components/views/dialogs/secretstorage/AccessSecretStorageDialog.js b/src/components/views/dialogs/secretstorage/AccessSecretStorageDialog.js index 8db56e6dfb..f74e96bc2e 100644 --- a/src/components/views/dialogs/secretstorage/AccessSecretStorageDialog.js +++ b/src/components/views/dialogs/secretstorage/AccessSecretStorageDialog.js @@ -65,11 +65,11 @@ export default class AccessSecretStorageDialog extends React.PureComponent { } _onPassPhraseNext = async () => { - this.props.onFinished(this.state.passPhrase); + this.props.onFinished({ passphrase: this.state.passPhrase }); } _onRecoveryKeyNext = async () => { - this.props.onFinished(this.state.recoveryKey); + this.props.onFinished({ recoveryKey: this.state.recoveryKey }); } _onPassPhraseChange = (e) => {