in a totally unsurprising turn of events, working on software for my onlykey is forcing me to learn lots of details about pgp/gpg, ssh, their agents, and all the fido2/ctap stuff

it's cool though

#onlyKey #GPG #SSH #security #cryptography

for example, one thing i could never get to work was loading my keys/subkeys¹. neither the desktop app nor the cli could parse the subkeys i wanted to load². the app offers two methods: via a pem encoded key (didnt work), or a hex encoded key but only the key material³, and i dont know how to get that using gpg or sequoia

___
¹ https://docs.onlykey.io/importpgp.html
² theyre attached to the pgp key on my keyoxide
³ i learned this term while working on this :3

Import keys from Keybase, Protonmail, and GPG | Docs

How to use export keys from Protonmail, Keybase, and GPG and load onto OnlyKey

so i wrote some rust code that can parse a subkey and extract the key material, and output it as hex

i used rpgp¹ so i got to interact with the data at a pretty low level, which is v cool imo

___
¹ https://github.com/rpgp/rpgp

GitHub - rpgp/rpgp: OpenPGP implemented in pure Rust, permissively licensed

OpenPGP implemented in pure Rust, permissively licensed - rpgp/rpgp

GitHub
@[email protected]

I have combed through PGP, especially GnuPG, quite a bit. To me its labyrinth of options is more complex than many programming languages.