jenspfahl / ANOTHERpass

Another approach of a password manager
https://anotherpass.jepfa.de
GNU General Public License v3.0
61 stars 3 forks source link

Something went wrong :-( #21

Closed igorSilCar closed 1 year ago

igorSilCar commented 2 years ago

As of 1.6.2, I'm facing this error right after providing the vault login PIN.

**** CAUSE OF ERROR ****

java.security.ProviderException: Keystore key generation failed at android.security.keystore2.AndroidKeyStoreKeyGeneratorSpi.engineGenerateKey(AndroidKeyStoreKeyGeneratorSpi.java:413) at javax.crypto.KeyGenerator.generateKey(KeyGenerator.java:612) at de.jepfa.yapm.service.secret.SecretService.initAndroidSecretKey(SecretService.kt:241) at de.jepfa.yapm.service.secret.SecretService.getAndroidSecretKey(SecretService.kt:202) at de.jepfa.yapm.ui.login.LoginEnterPinFragment.onViewCreated$lambda-6(LoginEnterPinFragment.kt:129) at de.jepfa.yapm.ui.login.LoginEnterPinFragment.$r8$lambda$Oqsl7apUlyR0zU-AGzej8N6_ffo(Unknown Source:0) at de.jepfa.yapm.ui.login.LoginEnterPinFragment$$ExternalSyntheticLambda1.onClick(Unknown Source:8) at android.view.View.performClick(View.java:7452) at android.view.View.performClickInternal(View.java:7429) at android.view.View.access$4100(View.java:839) at android.view.View$PerformClick.run(View.java:28764) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:8005) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1039) Caused by: android.security.KeyStoreException: System error at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:334) at android.security.KeyStoreSecurityLevel.handleExceptions(KeyStoreSecurityLevel.java:57) at android.security.KeyStoreSecurityLevel.generateKey(KeyStoreSecurityLevel.java:145) at android.security.keystore2.AndroidKeyStoreKeyGeneratorSpi.engineGenerateKey(AndroidKeyStoreKeyGeneratorSpi.java:400) ... 18 more

**** APP INFORMATION *** Version: 1.6.2 Version Code: 106002 Database Version: 5 Vault Version: 2 Vault Cipher: AES_256 Build Timestamp: Jun 15, 2022 2:20:07 PM Build Type: release

**** DEVICE INFORMATION *** Brand: lge Manufacturer: LGE Device: winglm Model: LM-F100 Product: winglm Hardware: winglm OS Build Id: SKQ1.211103.001 NFC available: true NFC enabled: false Has StrongBox support: false Has biometrics support: true Is fingerprint enroled: false

**** PERMISSIONS **** Read Storage granted: true Read/write storage granted: true Overlay dialog granted: false Camera granted: true Biometric granted: true

**** FIRMWARE **** SDK: 31 Release: 12 Incremental: 2220019043a6c Codename: REL Security patch: 2022-07-01

jenspfahl commented 2 years ago

Do you have this error every time you login or just once? It says "System error" at the Android internal key store generation. So there is something wrong with the operation system. I have no solution for that right now. Maybe a restart of your device helps?

igorSilCar commented 1 year ago

I think something broke after updating to android 12. I've tried restarting the phone, reinstalling the application and creating new vaults, all to no avail. I'll check if android store generation changed as of api 31.

igorSilCar commented 1 year ago

solved:

if there's no lockscreen set, then generateKey() doesn't work

not sure if this is the intended behavior, but i'll close this thread as it's possible to workaround by setting a lockscreen.

jenspfahl commented 1 year ago

Ok, thanks for finding that out. I think i will check in a later version whether a screen look is set or not. If not I would recommend that and maybe not allow to store the master password.