From d61e5c5a0888c2a72e4aad6410f7621d979ef362 Mon Sep 17 00:00:00 2001 From: Tobias Hagemann Date: Wed, 31 Aug 2016 01:08:58 +0200 Subject: [PATCH] added "delete passphrase" method to keychain access --- .../main/java/org/cryptomator/keychain/KeychainAccess.java | 7 +++++++ .../org/cryptomator/keychain/MacSystemKeychainAccess.java | 5 +++++ .../cryptomator/keychain/WindowsSystemKeychainAccess.java | 6 ++++++ .../java/org/cryptomator/keychain/MapKeychainAccess.java | 6 ++++++ 4 files changed, 24 insertions(+) diff --git a/main/keychain/src/main/java/org/cryptomator/keychain/KeychainAccess.java b/main/keychain/src/main/java/org/cryptomator/keychain/KeychainAccess.java index af2152ce6..35e406752 100644 --- a/main/keychain/src/main/java/org/cryptomator/keychain/KeychainAccess.java +++ b/main/keychain/src/main/java/org/cryptomator/keychain/KeychainAccess.java @@ -16,4 +16,11 @@ public interface KeychainAccess { */ CharSequence loadPassphrase(String key); + /** + * Deletes a passphrase with a given key. + * + * @param key Unique key previously used while {@link #storePassphrase(String, CharSequence) storing a passphrase}. + */ + void deletePassphrase(String key); + } diff --git a/main/keychain/src/main/java/org/cryptomator/keychain/MacSystemKeychainAccess.java b/main/keychain/src/main/java/org/cryptomator/keychain/MacSystemKeychainAccess.java index 465a17ec1..c8ab83c8c 100644 --- a/main/keychain/src/main/java/org/cryptomator/keychain/MacSystemKeychainAccess.java +++ b/main/keychain/src/main/java/org/cryptomator/keychain/MacSystemKeychainAccess.java @@ -38,4 +38,9 @@ class MacSystemKeychainAccess implements KeychainAccessStrategy { return SystemUtils.IS_OS_MAC_OSX && keychain != null; } + @Override + public void deletePassphrase(String key) { + keychain.deletePassword(key); + } + } diff --git a/main/keychain/src/main/java/org/cryptomator/keychain/WindowsSystemKeychainAccess.java b/main/keychain/src/main/java/org/cryptomator/keychain/WindowsSystemKeychainAccess.java index 61aed5af9..cf8163141 100644 --- a/main/keychain/src/main/java/org/cryptomator/keychain/WindowsSystemKeychainAccess.java +++ b/main/keychain/src/main/java/org/cryptomator/keychain/WindowsSystemKeychainAccess.java @@ -37,6 +37,12 @@ class WindowsSystemKeychainAccess implements KeychainAccessStrategy { return null; } + @Override + public void deletePassphrase(String key) { + // TODO Auto-generated method stub + + } + @Override public boolean isSupported() { return SystemUtils.IS_OS_WINDOWS && keyStore != null; diff --git a/main/keychain/src/test/java/org/cryptomator/keychain/MapKeychainAccess.java b/main/keychain/src/test/java/org/cryptomator/keychain/MapKeychainAccess.java index 0af7f0a51..dd06319cd 100644 --- a/main/keychain/src/test/java/org/cryptomator/keychain/MapKeychainAccess.java +++ b/main/keychain/src/test/java/org/cryptomator/keychain/MapKeychainAccess.java @@ -17,6 +17,12 @@ class MapKeychainAccess implements KeychainAccessStrategy { return map.get(key); } + @Override + public void deletePassphrase(String key) { + // TODO Auto-generated method stub + + } + @Override public boolean isSupported() { return true;