feat: Add RSA KeyStore attestation support#50
Conversation
Currently, the application only allows for verifying ECDSA keys as it lacked support for attesting RSA keys within the Android KeyStore. With this commit, it allows to perform a complete validation of the two currently supported asymmetric key types in the Android KeyStore. A new menu option "Attest RSA key" was added for this purpose. Additionally, when exporting the keychain in p7b format, the keystore's type will be included as part of the filename to differentiate between the ECDSA (current default) and RSA. Signed-off-by: linuxct <linuxct@linuxct.space>
|
More features, even better. If you want you can look there: |
|
@VisionR1 seeing that it's a single commit, think you could cherrypick it and include it in your own fork? |
Yeah, i can take all the changes, and merged manually, like i did with other features from the fork of chiteroman. For that i write my above comment to see @linuxct and if want send a PR to my fork, or if I have permission to merged manually. |
|
Done. 👍 VisionR1#4 Thanks @linuxct, for this useful feature. |
|
@linuxct make sure to disable RSA attestation when SAK is enabled, as SAK only supports EC attestation. |
Thanks for info, didn't know that, and i have already merge this PR with my fork. So, in the AndroidKeyStore.java, in the generateKeyPair part, after boolean useSak) { Must add something like this ? |
|
It's better to disable the toggle/attestation in HomeFragment.kt & HomeViewModel.kt just like it's currently done with attest key/strongbox. |
menu.findItem(R.id.menu_attest_rsa_key)?.isVisible = !viewModel.preferSakval attestKeyStoreKeyType =
if (preferAttestRsaKey && !useSak) { KeyStoreKeyType.RSA }
else { KeyStoreKeyType.ECDSA } |
|
Oh yeah, i forgot we can disable by default the toggle when use Sak, much more simple. Thanks @salvogiangri for the idea. EDIT: Added. |
Thanks @salvogiangri vvb2060#50 (comment) vvb2060#50 (comment) Also Update README.md for proper info about this fork & the strings for the new feature (see PR #4).
Currently, the application only allowed verifying ECDSA keys as it lacked support for attesting RSA keys within the Android KeyStore. This PR adds support to perform a complete validation of the two currently supported asymmetric key types in the Android KeyStore.
A new menu option "Attest RSA key" was added for this purpose. Additionally, when exporting the keychain in p7b format, the keystore's type will be included as part of the filename to differentiate between the ECDSA (current default) and RSA.
Prebuilt CI outputs: