EncryptionProtocolConfig to be added to the supported decryption-config
list.ArmadilloSharedPreferences instanceSharedPreferences interface this exports additional APIs specific
to armadillo.AuthenticatedEncryption.AuthenticatedEncryptionExceptionSharedPreferences instanceEncryptionFingerprint including the following data:
Fingerprint of the APK signature
Android ID: a 8 byte random value on SDK 26 and higher,
unique to each combination of app-signing key, user, and device - on SDK 25 and lower only unique
to user and device
Application package name, Brand, model and name of the device
32 byte hardcoded static random value
DerivedPasswordCacheEncryptionFingerprint with simple internal in-memory
data obfuscation.EncryptionFingerprintFactory in AndroidEncryptionProtocol encrypt or decrpytDataObfuscator.SharedPreferences.OnSharedPreferenceChangeListener.onSharedPreferenceChanged(SharedPreferences, String) that
provides a OnSecurePreferenceChangeListener.DerivedKeyComparison to allow client side react only to a specific changed keyOnSecurePreferenceChangeListener.DerivedKeyComparison instance in order to make it possible compare the changed key against
actual key constants (instead of the derivedKeys that the library uses)
OnSecurePreferenceChangeListener to check if the changed key is the key of interest.SharedPreferences.PBKDF2KeyStretcher.PBKDF2_DEFAULT_ITERATIONSSharedPreferences.registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener)
is useless as it returns derivedContentKey as parameter, and we cannot compare it to noting
in case we're interested in some specific key change.SecureRandom implementation.DefaultEncryptionProtocol before persisting
the data.SharedPreferences.Editor.RecoveryPolicy that supports removing data
and throwing exceptions.ArmadilloSharedPreferences.isValidPassword()
to verify the validity of the user-provided password used to initialise Armadillo.AuthenticatedEncryption.OnSecurePreferenceChangeListener from preference update.