Skip to main content
New Participant
May 2, 2023

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

New Participant
August 16, 2023

Facing same issue you got the solutions?