Use MasterKey.Builder instead of deprecated MasterKeys
This commit is contained in:
@@ -2,18 +2,20 @@ package com.vitorpamplona.amethyst
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.security.crypto.EncryptedSharedPreferences
|
import androidx.security.crypto.EncryptedSharedPreferences
|
||||||
import androidx.security.crypto.MasterKeys
|
import androidx.security.crypto.MasterKey
|
||||||
|
|
||||||
class EncryptedStorage {
|
class EncryptedStorage {
|
||||||
|
private val preferencesName = "secret_keeper"
|
||||||
|
|
||||||
fun preferences(context: Context): EncryptedSharedPreferences {
|
fun preferences(context: Context): EncryptedSharedPreferences {
|
||||||
val secretKey: String = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)
|
val masterKey: MasterKey = MasterKey.Builder(context, MasterKey.DEFAULT_MASTER_KEY_ALIAS)
|
||||||
val preferencesName = "secret_keeper"
|
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
|
||||||
|
.build()
|
||||||
|
|
||||||
return EncryptedSharedPreferences.create(
|
return EncryptedSharedPreferences.create(
|
||||||
preferencesName,
|
|
||||||
secretKey,
|
|
||||||
context,
|
context,
|
||||||
|
preferencesName,
|
||||||
|
masterKey,
|
||||||
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
|
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
|
||||||
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
|
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
|
||||||
) as EncryptedSharedPreferences
|
) as EncryptedSharedPreferences
|
||||||
|
|||||||
Reference in New Issue
Block a user