the following stack trace has been observed on Pixel3, Pixel3a, Pixel4 (API33), but not on newer phones. The interesting parts are highlighted.
It definitely works on newer phones with the same API level. Is there a way to make it work on older hardware?
--- important ---
08-17 12:22:12.623 20193 20193 W System.err: javax.crypto.IllegalBlockSizeException
08-17 12:22:12.623 20193 20193 W System.err: at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:613)
--- important ---
08-17 12:22:12.623 20193 20193 W System.err: at javax.crypto.Cipher.doFinal(Cipher.java:2056)
08-17 12:22:12.623 20193 20193 W System.err: at ...omitted...
08-17 12:22:12.623 20193 20193 W System.err: at androidx.biometric.BiometricFragment$9.run(BiometricFragment.java:907)
08-17 12:22:12.623 20193 20193 W System.err: at android.os.Handler.handleCallback(Handler.java:942)
08-17 12:22:12.623 20193 20193 W System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
08-17 12:22:12.623 20193 20193 W System.err: at android.os.Looper.loopOnce(Looper.java:201)
08-17 12:22:12.623 20193 20193 W System.err: at android.os.Looper.loop(Looper.java:288)
08-17 12:22:12.623 20193 20193 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7940)
08-17 12:22:12.623 20193 20193 W System.err: at java.lang.reflect.Method.invoke(Native Method)
08-17 12:22:12.623 20193 20193 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
08-17 12:22:12.623 20193 20193 W System.err: at com.android.internal.os.ExecInit.main(ExecInit.java:49)
08-17 12:22:12.623 20193 20193 W System.err: at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
08-17 12:22:12.623 20193 20193 W System.err: at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
08-17 12:22:12.623 20193 20193 W System.err: Caused by: android.security.KeyStoreException: Key user not authenticated (internal Keystore code: -26 message: In KeystoreOperation::update
08-17 12:22:12.623 20193 20193 W System.err:
--- important ---
08-17 12:22:12.623 20193 20193 W System.err: Caused by:
08-17 12:22:12.623 20193 20193 W System.err: 0: In update: KeyMint::update failed.
08-17 12:22:12.623 20193 20193 W System.err: 1: Error::Km(ErrorCode(-26))) (public error code: 2 internal Keystore code: -26)
--- important ---
08-17 12:22:12.623 20193 20193 W System.err: at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:369)
08-17 12:22:12.623 20193 20193 W System.err: at android.security.KeyStoreOperation.handleExceptions(KeyStoreOperation.java:78)
08-17 12:22:12.623 20193 20193 W System.err: at android.security.KeyStoreOperation.update(KeyStoreOperation.java:115)
08-17 12:22:12.623 20193 20193 W System.err: at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer$MainDataStream.update(KeyStoreCryptoOperationChunkedStreamer.java:222)
08-17 12:22:12.624 20193 20193 W System.err: at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.update(KeyStoreCryptoOperationChunkedStreamer.java:156)
08-17 12:22:12.624 20193 20193 W System.err: at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.doFinal(KeyStoreCryptoOperationChunkedStreamer.java:179)
08-17 12:22:12.624 20193 20193 W System.err: at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:603)
08-17 12:22:12.624 20193 20193 W System.err: ... 13 more