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}.