You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Steps to reproduce, current result, expected result
It seems that if RSA is used for biometric key encryption, then the actual key decryption may take a significant amount of time and cause the application to be killed by OS. We should avoid this and move the actual key decryption to the background thread.
Log output
Callstack with crash:
"main" tid=1 Native
#00 pc 0x00000000000c12ec /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#01 pc 0x00000000000686a8 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
#02 pc 0x000000000004bec0 /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+244)
#03 pc 0x000000000004d200 /system/lib64/libbinder.so (android::IPCThreadState::waitForResponse+76)
#04 pc 0x000000000004cf48 /system/lib64/libbinder.so (android::IPCThreadState::transact+188)
#05 pc 0x0000000000061ef4 /system/lib64/libbinder.so (android::BpBinder::transact+172)
#06 pc 0x00000000001a3894 /system/lib64/libandroid_runtime.so (android_os_BinderProxy_transact+156)
at android.os.BinderProxy.transactNative (Native method)
at android.os.BinderProxy.transact (BinderProxy.java:586)
at android.system.keystore2.IKeystoreOperation$Stub$Proxy.update (IKeystoreOperation.java:227)
at android.security.KeyStoreOperation.lambda$update$1 (KeyStoreOperation.java:118)
at android.security.KeyStoreOperation.$r8$lambda$Zq48mSFIXpCsoYDZ2jJFfuYJxZo (unavailable)
at android.security.KeyStoreOperation$$ExternalSyntheticLambda2.execute (D8$$SyntheticClass)
at android.security.KeyStoreOperation.handleExceptions (KeyStoreOperation.java:70)
at android.security.KeyStoreOperation.update (KeyStoreOperation.java:118)
at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer$MainDataStream.update (KeyStoreCryptoOperationChunkedStreamer.java:222)
at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.update (KeyStoreCryptoOperationChunkedStreamer.java:156)
at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.doFinal (KeyStoreCryptoOperationChunkedStreamer.java:179)
at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal (AndroidKeyStoreCipherSpiBase.java:624)
at javax.crypto.Cipher.doFinal (Cipher.java:2074)
at io.getlime.security.powerauth.biometry.impl.BiometricKeyEncryptorRsa.decryptBiometricKey (BiometricKeyEncryptorRsa.java:198)
at io.getlime.security.powerauth.biometry.impl.BiometricAuthenticator.encryptOrDecryptRawKeyData (BiometricAuthenticator.java:346)
at io.getlime.security.powerauth.biometry.impl.BiometricAuthenticator.-$$Nest$mencryptOrDecryptRawKeyData (unavailable)
at io.getlime.security.powerauth.biometry.impl.BiometricAuthenticator$1.onAuthenticationSucceeded (BiometricAuthenticator.java:253)
at androidx.biometric.BiometricFragment$9.run (BiometricFragment.java:907)
The text was updated successfully, but these errors were encountered:
Affected product(s) and version(s)
Environment
Steps to reproduce, current result, expected result
It seems that if RSA is used for biometric key encryption, then the actual key decryption may take a significant amount of time and cause the application to be killed by OS. We should avoid this and move the actual key decryption to the background thread.
Log output
Callstack with crash:
The text was updated successfully, but these errors were encountered: