Forum Discussion
richmengsix
3 years agoHonored Guest
AndroidKeyStore not found on device
Hi, recently we have received multiple user reports that the logic of our Unity app has issues. Digging deeper, we realized that the error was related to Android KeyStore not found error.
Our Unity app uses Andorid backend, which integrates with AWS Cognito SDK to store auth tokens. As you can see from the stack trace below, the token caching mechanicsm failed because of keystore issue.
Have Meta Quest made any adjustment to the token store access? I couldn't find any resource to debug further. Unfortunately, this issue is disrupting user experiences, so any help is greatly appreciated. Thank you!
2023-05-02 12:50:58.975 17399-17913/? E/AWSKeyValueStore: Encryption Key cannot be generated successfully.
com.amazonaws.internal.keyvaluestore.KeyNotGeneratedException: Cannot generate a key for alias: CognitoIdentityProviderCache.aesKeyStoreAlias in AndroidKeyStore
at com.amazonaws.internal.keyvaluestore.KeyProvider23.generateKey(KeyProvider23.java:110)
at com.amazonaws.internal.keyvaluestore.AWSKeyValueStore.generateEncryptionKey(AWSKeyValueStore.java:498)
at com.amazonaws.internal.keyvaluestore.AWSKeyValueStore.put(AWSKeyValueStore.java:314)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.cacheTokens(CognitoUser.java:2769)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.handleChallenge(CognitoUser.java:3091)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.handleChallenge(CognitoUser.java:3219)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.access$2600(CognitoUser.java:133)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser$37.run(CognitoUser.java:3257)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.continuations.AuthenticationContinuation.continueTask(AuthenticationContinuation.java:147)
at com.owl3d.apputil.CognitoAuthModel$signInImpl$2$authenticationHandler$1.getAuthenticationDetails(AuthModel.kt:441)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.getSession(CognitoUser.java:1032)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.getSession(CognitoUser.java:970)
at com.owl3d.apputil.CognitoAuthModel.signInImpl(AuthModel.kt:459)
at com.owl3d.apputil.CognitoAuthModel.signIn(AuthModel.kt:377)
at com.owl3d.apputil.AuthModelImp.signInCognito(AuthModel.kt:113)
at com.owl3d.appdata.SignInViewModel.onSignInSubmittedImpl(SignInViewModel.kt:104)
at com.owl3d.appdata.SignInViewModel.access$onSignInSubmittedImpl(SignInViewModel.kt:14)
at com.owl3d.appdata.SignInViewModel$onSignInSubmitted$1.invokeSuspend(SignInViewModel.kt:99)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Caused by: java.security.KeyStoreException: AndroidKeyStore not found
at java.security.KeyStore.getInstance(KeyStore.java:890)
at com.amazonaws.internal.keyvaluestore.KeyProvider23.generateKey(KeyProvider23.java:81)
at com.amazonaws.internal.keyvaluestore.AWSKeyValueStore.generateEncryptionKey(AWSKeyValueStore.java:498)
at com.amazonaws.internal.keyvaluestore.AWSKeyValueStore.put(AWSKeyValueStore.java:314)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.cacheTokens(CognitoUser.java:2769)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.handleChallenge(CognitoUser.java:3091)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.handleChallenge(CognitoUser.java:3219)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.access$2600(CognitoUser.java:133)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser$37.run(CognitoUser.java:3257)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.continuations.AuthenticationContinuation.continueTask(AuthenticationContinuation.java:147)
at com.owl3d.apputil.CognitoAuthModel$signInImpl$2$authenticationHandler$1.getAuthenticationDetails(AuthModel.kt:441)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.getSession(CognitoUser.java:1032)
at com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUser.getSession(CognitoUser.java:970)
at com.owl3d.apputil.CognitoAuthModel.signInImpl(AuthModel.kt:459)
at com.owl3d.apputil.CognitoAuthModel.signIn(AuthModel.kt:377)
at com.owl3d.apputil.AuthModelImp.signInCognito(AuthModel.kt:113)
at com.owl3d.appdata.SignInViewModel.onSignInSubmittedImpl(SignInViewModel.kt:104)
at com.owl3d.appdata.SignInViewModel.access$onSignInSubmittedImpl(SignInViewModel.kt:14)
at com.owl3d.appdata.SignInViewModel$onSignInSubmitted$1.invokeSuspend(SignInViewModel.kt:99)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
1 Reply
- VijaySonawane1985Honored Guest
Facing same issue you got the solutions?
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 3 years ago
- 2 years ago