
#KEYSTORE EXPLORER READ ENCRYPTED VALUE ANDROID#
On newer API levels, an AES key is obtained from the Android KeyStore and used with an AES/GCM/NoPadding cipher to encrypt the value before it is stored in the shared preferences file. The key (not a cryptographic key, the key to the value) used in the shared preferences file is a MD5 Hash of the key passed into the SecureStorage APIs. The Android KeyStore is used to store the cipher key used to encrypt the value before it is saved into a Shared Preferences with a filename of.

In the project properties, under iOS Bundle Signing set the Custom Entitlements to ist. This will automatically add the application's identifier as a group. Open the ist in the iOS project and find the Keychain entitlement and enable it.

When developing on the iOS simulator, enable the Keychain entitlement and add a keychain access group for the application's bundle identifier. Then set the following content that includes all shared preferences except for SecureStorage: Set the android:fullBackupContent attribute in your AndroidManifest.xml: Ĭreate a new XML file named auto_backup_rules.xml in the Resources/xml directory with the build action of AndroidResource. You can create a custom rule set to exclude SecureStore items from being backed up. Īuto Backup can be configured to disable specific content from backing up. This approach is only recommended if you plan on restoring data in another way. You can choose to disable Auto Backup for your entire application by setting the android:allowBackup setting to false in the AndroidManifest.xml file. Xamarin.Essentials automatically handles this case by removing the key so it can be reset, but you can take an additional step by disabling Auto Backup. This can impact SecureStorage which utilizes share preferences that are backed up and can not be decrypted when the restore occurs.

Data is restored when an app is re-installed or installed on a new device. Auto Backup for Apps is a feature of Android 6.0 (API level 23) and later that backs up user's app data (shared preferences, files in the app's internal storage, and other specific files).
