Currently the keys in the wallet can be encrypted using a spending pin. With this PR we propose a new encryption type which leverages the Android KeyStore and Biometric Authentication to encrypt the keys. It is not a replacement of the spending pin but an addition.
This change requires additional changes in bitcoinj. The files in wallet/libs/ are built from the proposal_keycrypterfactory_new_encryptiontype branch.
With Android Studio 2022.3.1 Patch 2 this current settings should build without additional changes
Change log:
Add new HWKeyCrypter
Add new CryptActivity which runs while the Biometric Prompt is executed
Implement and set KeyCrypterFactory on WalletProtobufSerializer
Add radio buttons in EncryptKeyDialogFragment to chose between spending pin and hardware encryption
Remove encryption if hardware encryption is used before creating a backup (After decryption, the backup password can still be set, so the backup is still encrypted)
Currently the keys in the wallet can be encrypted using a spending pin. With this PR we propose a new encryption type which leverages the Android KeyStore and Biometric Authentication to encrypt the keys. It is not a replacement of the spending pin but an addition.
This change requires additional changes in bitcoinj. The files in wallet/libs/ are built from the proposal_keycrypterfactory_new_encryptiontype branch.
With Android Studio 2022.3.1 Patch 2 this current settings should build without additional changes
Change log: