From 445cb7e242beef36d9d6f84bed19ba15ca6b0d9d Mon Sep 17 00:00:00 2001 From: Ralph Plawetzki Date: Wed, 6 Oct 2021 07:53:38 +0200 Subject: [PATCH] Pass the name of the vault on changing a passphrase --- .../org/cryptomator/common/keychain/KeychainManager.java | 8 ++++++++ .../ui/changepassword/ChangePasswordController.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java index e8783e159..d6adadfe4 100644 --- a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java +++ b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java @@ -76,6 +76,14 @@ public class KeychainManager implements KeychainAccessProvider { } } + @Override + public void changePassphrase(String key, String displayName, CharSequence passphrase) throws KeychainAccessException { + if (isPassphraseStored(key)) { + getKeychainOrFail().changePassphrase(key, displayName, passphrase); + setPassphraseStored(key, true); + } + } + @Override public boolean isSupported() { return keychain.getValue() != null; diff --git a/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordController.java b/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordController.java index 54519f21f..b36ae89bf 100644 --- a/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordController.java +++ b/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordController.java @@ -102,7 +102,7 @@ public class ChangePasswordController implements FxController { private void updatePasswordInSystemkeychain() { if (keychain.isSupported() && !keychain.isLocked()) { try { - keychain.changePassphrase(vault.getId(), newPasswordController.passwordField.getCharacters()); + keychain.changePassphrase(vault.getId(), vault.getDisplayName(), newPasswordController.passwordField.getCharacters()); LOG.info("Successfully updated password in system keychain for {}", vault.getDisplayName()); } catch (KeychainAccessException e) { LOG.error("Failed to update password in system keychain.", e);