diff --git a/app/src/main/java/com/vitorpamplona/amethyst/EncryptedStorage.kt b/app/src/main/java/com/vitorpamplona/amethyst/EncryptedStorage.kt index 9ab8a8684..d43669d7c 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/EncryptedStorage.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/EncryptedStorage.kt @@ -2,18 +2,20 @@ package com.vitorpamplona.amethyst import android.content.Context import androidx.security.crypto.EncryptedSharedPreferences -import androidx.security.crypto.MasterKeys +import androidx.security.crypto.MasterKey -class EncryptedStorage { +object EncryptedStorage { + private const val PREFERENCES_NAME = "secret_keeper" fun preferences(context: Context): EncryptedSharedPreferences { - val secretKey: String = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC) - val preferencesName = "secret_keeper" + val masterKey: MasterKey = MasterKey.Builder(context, MasterKey.DEFAULT_MASTER_KEY_ALIAS) + .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) + .build() return EncryptedSharedPreferences.create( - preferencesName, - secretKey, context, + PREFERENCES_NAME, + masterKey, EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM ) as EncryptedSharedPreferences diff --git a/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt b/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt index abec38a63..83e0f331a 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/LocalPreferences.kt @@ -29,7 +29,7 @@ class LocalPreferences(context: Context) { val LAST_READ: (String) -> String = { route -> "last_read_route_$route" } } - private val encryptedPreferences = EncryptedStorage().preferences(context) + private val encryptedPreferences = EncryptedStorage.preferences(context) private val gson = GsonBuilder().create() fun clearEncryptedStorage() {