In android when device not has any security configuration like pin or password produce fail Keystore key generation failed:
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 com.sensitiveinfo.internal.crypto.CryptoManager.generateKey(CryptoManager.kt:227)
at com.sensitiveinfo.internal.crypto.CryptoManager.getOrCreateKey(CryptoManager.kt:191)
at com.sensitiveinfo.internal.crypto.CryptoManager.encrypt(CryptoManager.kt:45)
at com.sensitiveinfo.HybridSensitiveInfo$setItem$1.invokeSuspend(HybridSensitiveInfo.kt:94)
at com.sensitiveinfo.HybridSensitiveInfo$setItem$1.invoke(Unknown Source:8)
at com.sensitiveinfo.HybridSensitiveInfo$setItem$1.invoke(Unknown Source:2)
at com.margelo.nitro.core.Promise$Companion$async$1.invokeSuspend(Promise.kt:146)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:829)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Caused by: android.security.KeyStoreException: System error (internal Keystore code: 4 message: In generate_key.
Caused by:
0: In store_new_key.
1: In store_new_key. Failed to handle super encryption.
2: In handle_super_encryption_on_key_init: User ECDH key missing.
3: Error::Rc(ResponseCode(4))) (public error code: 4 internal Keystore code: 4)
at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:336)
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)
In android when device not has any security configuration like pin or password produce fail Keystore key generation failed:
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 com.sensitiveinfo.internal.crypto.CryptoManager.generateKey(CryptoManager.kt:227)
at com.sensitiveinfo.internal.crypto.CryptoManager.getOrCreateKey(CryptoManager.kt:191)
at com.sensitiveinfo.internal.crypto.CryptoManager.encrypt(CryptoManager.kt:45)
at com.sensitiveinfo.HybridSensitiveInfo$setItem$1.invokeSuspend(HybridSensitiveInfo.kt:94)
at com.sensitiveinfo.HybridSensitiveInfo$setItem$1.invoke(Unknown Source:8)
at com.sensitiveinfo.HybridSensitiveInfo$setItem$1.invoke(Unknown Source:2)
at com.margelo.nitro.core.Promise$Companion$async$1.invokeSuspend(Promise.kt:146)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:829)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Caused by: android.security.KeyStoreException: System error (internal Keystore code: 4 message: In generate_key.
Caused by:
0: In store_new_key.
1: In store_new_key. Failed to handle super encryption.
2: In handle_super_encryption_on_key_init: User ECDH key missing.
3: Error::Rc(ResponseCode(4))) (public error code: 4 internal Keystore code: 4)
at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:336)
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)