epicshaggy / capacitor-native-biometric

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Capacitor app is crashing after updating the plugin to 4.2.0

11hasnainali opened this issue · comments

I am working on a capacitor 5 app, this plugin was working fine with version 4.1.3 but when I updated this plugin to version 4.1.5 or 4.2.0, when setCredentials is called, the app crashes.

same problem, even if I downgrade to 4.1.3 still crash

Exactly same problem, hopefully a solution soon

same problem. even on a capacitor 4

Same problem here, here's the error stack trace from Logcat:

Serious error executing plugin
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138)
at com.getcapacitor.Bridge.lambda$callPluginMethod$0$com-getcapacitor-Bridge(Bridge.java:767)
at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: android.security.keystore.StrongBoxUnavailableException: Failed to generate key
at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi.engineGenerateKey(AndroidKeyStoreKeyGeneratorSpi.java:328)
at javax.crypto.KeyGenerator.generateKey(KeyGenerator.java:612)
at com.epicshaggy.biometric.NativeBiometric.generateKey(NativeBiometric.java:300)
at com.epicshaggy.biometric.NativeBiometric.getKey(NativeBiometric.java:311)
at com.epicshaggy.biometric.NativeBiometric.encryptString(NativeBiometric.java:262)
at com.epicshaggy.biometric.NativeBiometric.setCredentials(NativeBiometric.java:175)
at java.lang.reflect.Method.invoke(Native Method) 
at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138) 
at com.getcapacitor.Bridge.lambda$callPluginMethod$0$com-getcapacitor-Bridge(Bridge.java:767) 
at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8) 
at android.os.Handler.handleCallback(Handler.java:938) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:236) 
at android.os.HandlerThread.run(HandlerThread.java:67) 
Caused by: android.security.KeyStoreException: No StrongBox available
at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi.engineGenerateKey(AndroidKeyStoreKeyGeneratorSpi.java:328) 
at javax.crypto.KeyGenerator.generateKey(KeyGenerator.java:612) 
at com.epicshaggy.biometric.NativeBiometric.generateKey(NativeBiometric.java:300) 
at com.epicshaggy.biometric.NativeBiometric.getKey(NativeBiometric.java:311) 
at com.epicshaggy.biometric.NativeBiometric.encryptString(NativeBiometric.java:262) 
at com.epicshaggy.biometric.NativeBiometric.setCredentials(NativeBiometric.java:175) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138) 
at com.getcapacitor.Bridge.lambda$callPluginMethod$0$com-getcapacitor-Bridge(Bridge.java:767) 
at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8) 
at android.os.Handler.handleCallback(Handler.java:938) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:236) 
at android.os.HandlerThread.run(HandlerThread.java:67) 
2023-06-01 15:51:56.064 8794-9220 AndroidRuntime com.uniasselvi.leonardo E FATAL EXCEPTION: CapacitorPlugins
Process: com.uniasselvi.leonardo, PID: 8794
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.getcapacitor.Bridge.lambda$callPluginMethod$0$com-getcapacitor-Bridge(Bridge.java:776)
at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138)
at com.getcapacitor.Bridge.lambda$callPluginMethod$0$com-getcapacitor-Bridge(Bridge.java:767)
at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8) 
at android.os.Handler.handleCallback(Handler.java:938) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:236) 
at android.os.HandlerThread.run(HandlerThread.java:67) 
Caused by: android.security.keystore.StrongBoxUnavailableException: Failed to generate key
at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi.engineGenerateKey(AndroidKeyStoreKeyGeneratorSpi.java:328)
at javax.crypto.KeyGenerator.generateKey(KeyGenerator.java:612)
at com.epicshaggy.biometric.NativeBiometric.generateKey(NativeBiometric.java:300)
at com.epicshaggy.biometric.NativeBiometric.getKey(NativeBiometric.java:311)
at com.epicshaggy.biometric.NativeBiometric.encryptString(NativeBiometric.java:262)
at com.epicshaggy.biometric.NativeBiometric.setCredentials(NativeBiometric.java:175)
at java.lang.reflect.Method.invoke(Native Method) 
at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138) 
at com.getcapacitor.Bridge.lambda$callPluginMethod$0$com-getcapacitor-Bridge(Bridge.java:767) 
at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8) 
at android.os.Handler.handleCallback(Handler.java:938) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:236) 
at android.os.HandlerThread.run(HandlerThread.java:67) 
Caused by: android.security.KeyStoreException: No StrongBox available

I've the same issue.

Same issue. Also with Capacitor 4.7.1 and Native Biometric plugin 4.1.3.

android.security.keystore.StrongBoxUnavailableException: Failed to generate key
Caused by: android.security.KeyStoreException: No StrongBox available (public error code: 12 internal Keystore code: -68)

when calling NativeBiometric.setCredentials