iamMehedi / Secured-Preference-Store

A cryptography library and a SharedPreferences wrapper for Android that encrypts the content with 256 bit AES encryption. The Encryption key is securely stored in device's KeyStore.
562 stars 97 forks source link

KeyStore exception in log on Android 9 device #39

Open kfjtrifork opened 6 years ago

kfjtrifork commented 6 years ago

Thx for a great library. When running on a Android 9 device (Pixel) I see an error in the log. This happens both when target api is set to Android 9 (28) and earlier (tested with 26). This exception is not propagated to the calling app. This error does not occur when running older Android devices (tested on Android 8 and 6). I can't tell the severity of this error (the call to "KeyStore.entryInstanceOf" probably fails, which is part of an if statement) but hope you can :) BR, Kristian

Stacktrace: W/KeyStore: KeyStore exception android.os.ServiceSpecificException: (code 7) at android.os.Parcel.createException(Parcel.java:1956) at android.os.Parcel.readException(Parcel.java:1910) at android.os.Parcel.readException(Parcel.java:1860) at android.security.IKeystoreService$Stub$Proxy.get(IKeystoreService.java:786) at android.security.KeyStore.get(KeyStore.java:195) at android.security.keystore.AndroidKeyStoreSpi.engineGetCertificate(AndroidKeyStoreSpi.java:144) at java.security.KeyStoreSpi.engineEntryInstanceOf(KeyStoreSpi.java:583) at java.security.KeyStore.entryInstanceOf(KeyStore.java:1631) at devliving.online.securedpreferencestore.EncryptionManager.loadKey(EncryptionManager.java:690) at devliving.online.securedpreferencestore.EncryptionManager.setup(EncryptionManager.java:228) at devliving.online.securedpreferencestore.EncryptionManager.(EncryptionManager.java:201) at devliving.online.securedpreferencestore.SecuredPreferenceStore.(SecuredPreferenceStore.java:79) at devliving.online.securedpreferencestore.SecuredPreferenceStore.init(SecuredPreferenceStore.java:134) at devliving.online.securedpreferencestore.SecuredPreferenceStore.init(SecuredPreferenceStore.java:142) at ...

iamMehedi commented 5 years ago

looking into it!

brspurri commented 5 years ago

Seeing the same error when using implementation 'online.devliving:securedpreferencestore:0.7.4'. Only on OS 9 devices.

ber4444 commented 5 years ago

also seen at https://github.com/googlesamples/android-BasicAndroidKeyStore/issues/3

AlvaroBro commented 5 years ago

Hi! Any news or feedback on this? I'm experiencing the same thing in Android 9.

jonreeve commented 5 years ago

Possible fix?

https://stackoverflow.com/questions/52024752/android-9-keystore-exception-android-os-servicespecificexception

MarimuthuP commented 3 years ago

Hi! Still I'm getting the same exception even after changing getKey() and getCertificate() methods instead of getEntry() in Android 9. Is there any updated solution on this?