This repository has been archived by the owner on Oct 15, 2024. It is now read-only.
Replies: 1 comment 4 replies
-
Thanks for getting the ball rolling on this! I think it'd be preferable for us to keep all the PGP logic contained in |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
OpenKeychain is now completely broken on Android 13 QPR1 Beta 1, so I started on integrating hwsecurity (the APS fork) to support OpenPGP smartcards over NFC/USB. I have key import working, but everything is currently living in two separate worlds as hwsecurity support is a separate
crypto-hwsecurity
library implementing thecrypto-common
API.This causes a few issues, mostly because it's difficult to recreate the standard metadata included in an on-disk key; this includes the canonical user ID(s) and the master key fingerprint. I believe that's why GnuPG created the "stub key" format with the extra
s2k
values indicating the key lives on a smartcard. Ultimately this data is required to match an ID listed in .gpg-id, which is pretty lax (basically anythinggpg
will match to a key in its keyring).So there are a couple of routes to explore:
hasDummyS2K()
value for the key and delegate to hwsecurity to perform the actual crypto.Option 1 is simpler from the integration perspective, but needs changes all over the app to support an additional key source. Option 2 is harder to integrate, as we'd have to make
crypto-pgpainless
an Android library or add extension points to delegate encryption, but the app could continue treating everything as a PGPKey and wouldn't really have to change.Beta Was this translation helpful? Give feedback.
All reactions