diff --git a/pom.xml b/pom.xml
index 101e1b9..958e1d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@
org.junit.jupiter
junit-jupiter
- 5.10.2
+ 5.10.3
test
@@ -95,11 +95,11 @@
org.apache.maven.plugins
maven-surefire-plugin
- 3.2.5
+ 3.3.1
maven-javadoc-plugin
- 3.7.0
+ 3.8.0
attach-javadocs
diff --git a/src/main/java/org/cryptomator/integrations/keychain/KeychainAccessProvider.java b/src/main/java/org/cryptomator/integrations/keychain/KeychainAccessProvider.java
index 3099528..979e38c 100644
--- a/src/main/java/org/cryptomator/integrations/keychain/KeychainAccessProvider.java
+++ b/src/main/java/org/cryptomator/integrations/keychain/KeychainAccessProvider.java
@@ -56,7 +56,24 @@ default void storePassphrase(String key, CharSequence passphrase) throws Keychai
* @throws KeychainAccessException If storing the password failed
*/
@Blocking
- void storePassphrase(String key, @Nullable String displayName, CharSequence passphrase) throws KeychainAccessException;
+ default void storePassphrase(String key, @Nullable String displayName, CharSequence passphrase) throws KeychainAccessException {
+ storePassphrase(key, displayName, passphrase, false);
+ }
+
+ /**
+ * Associates a passphrase with a given key and a name for that key.
+ *
+ * @param key Key used to retrieve the passphrase via {@link #loadPassphrase(String)}.
+ * @param displayName The according name to the key. That's the name of the vault displayed in the UI.
+ * It's passed to the keychain as an additional information about the vault besides the key.
+ * The parameter does not need to be unique or be checked by the keychain.
+ * @param passphrase The secret to store in this keychain.
+ * @param requireOsAuthentication Defines, whether the user needs to authenticate to store a passphrase.
+ * The authentication mechanism is provided by the operating system dependent
+ * implementations of this API.
+ * @throws KeychainAccessException If storing the password failed
+ */
+ void storePassphrase(String key, @Nullable String displayName, CharSequence passphrase, boolean requireOsAuthentication) throws KeychainAccessException;
/**
* @param key Unique key previously used while {@link #storePassphrase(String, String, CharSequence)} storing a passphrase}.