Android KeyStoreException:

Mi aplicación utiliza el almacén de claves de Android para cifrar algunos datos después de la autenticación con una huella digital. Esto parece funcionar en la mayoría de los dispositivos, pero he recibido informes de errores de los usuarios de OnePlus2 con la excepción

android.security.KeyStoreException: Signature/MAC verification failed at android.security.KeyStore.getKeyStoreException(KeyStore.java:632) at android.security.keystore.KeyStoreCryptoOperationChunkedStreamer.update(KeyStoreCryptoOperationChunkedStreamer.java:132) at android.security.keystore.KeyStoreCryptoOperationChunkedStreamer.doFinal(KeyStoreCryptoOperationChunkedStreamer.java:217) at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:473) at javax.crypto.Cipher.doFinal(Cipher.java:1502) 

Mi código básicamente hace esto (Escrito en Mono para Android):

 Cipher _cipher = Cipher.GetInstance(KeyProperties.KeyAlgorithmAes + "/" + KeyProperties.BlockModeCbc + "/" + KeyProperties.EncryptionPaddingPkcs7); KeyStore _keystore = KeyStore.GetInstance("AndroidKeyStore"); FingerprintManager _fingerprintManager = (FingerprintManager) Context.GetSystemService(Context.FingerprintService); _keystore.Load(null); var key = _keystore.GetKey(_keyId, null); _cipher.Init(CipherMode.EncryptMode, key); _cryptoObject = new FingerprintManager.CryptoObject(_cipher); _fingerprintManager.Authenticate(_cryptoObject, _cancellationSignal, 0 /* flags */, this, null); //OnAuthSucceeded: var mySecret = _cipher.DoFinal(System.Text.Encoding.UTF8.GetBytes(textToEncrypt)); 

¿Hay algo mal con el código? ¿Qué significa la excepción?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.