Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang.
- Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6@floss.social)
- Contributor to @rpgp@mastodon.social
- Blog/writeups: https://openpgp.foo
- OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Posts
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
I just released a first draft version of #minipgp6
minipgp6 is an intentionally small #OpenPGP library stack.
It implements v6 formats from https://www.rfc-editor.org/rfc/rfc9580 and #PQC composite key algorithms from https://datatracker.ietf.org/doc/draft-ietf-openpgp-pqc/
The complete library stack in this release adds up to ~5k LOC.
It interoperates with all modern OpenPGP libraries: https://codeberg.org/minipgp6/minipgp6#interop
A SOP CLI tool based on minipgp6 can be installed as
$ cargo install minipgp6-sop
Many thanks to @nlnet@social.nlnet.nl
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Yay for @dvzrv@chaos.social 's tireless(*) work towards modernizing how OpenPGP is used in distro contexts (including in Arch Linux).
I've spent some time last year hacking on https://devblog.archlinux.page/2026/verify-arch-linux-artifacts-using-voa-openpgp/ with David, which was a great time.
VOA is the other side of the coin to Signstar - the former verifies signatures, while the latter produces them.
---
(*) Although I do suspect he might at times actually get tired, after all 🤔
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Regular PSA reminder:
While GnuPG 2.5.x implements hybrid PQC encryption based on ML-KEM, just like https://datatracker.ietf.org/doc/draft-ietf-openpgp-pqc/, GnuPG's implementation is entirely incompatible with the IETF-specified format, which all other libraries are implementing.
Both serialization and the KEM combiners differ.
The bottom line is that anyone who wants to use vendor-agnostic PQC with OpenPGP should *avoid GnuPG's PQC key formats*.
This is all exceedingly unfortunate and weird, and frankly, a total disgrace.
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
I just released version 0.1.9 of rsop-oct, a stateless #OpenPGP ("SOP") CLI tool for use with OpenPGP card hardware devices:
https://crates.io/crates/rsop-oct/
Like its sibling project #rsop, rsop-oct is based on @rpgp@mastodon.social
This version improves error handling and reporting in some cases, in particular when a suitable card is not found, or the User PIN for a card is not available.
For more on #SOP, see https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
I just released version 0.1.7 of rsop-oct, a stateless #OpenPGP ("SOP") CLI tool for use with OpenPGP card hardware devices:
https://crates.io/crates/rsop-oct/
Like its sibling project #rsop, rsop-oct is based on @rpgp@mastodon.social
This update adds (initial) support for the SOP command 'update-key'.
This command allows extending the expiration times of components of an OpenPGP certificate using a primary key that is stored on an OpenPGP card device.
For more on #SOP, see https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
The openpgp-card-state crate now has a new "ephemeral" backend:
https://codeberg.org/openpgp-card/state/#ephemeral-interactive-input-with-persistence-and-expiry
This combines the defensiveness of unpersisted pinentry with the convenience of caching (in the Linux kernel credential store, for a configurable duration).
New releases of https://crates.io/crates/openpgp-card-tool-git, https://crates.io/crates/openpgp-card-ssh-agent, https://crates.io/crates/rsop-oct support this new #OpenPGP card PIN storage backend.
Many thanks to @classabbyamp@chaos.social who implemented this new PIN handling mechanism in openpgp-card-state.
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
The https://freepg.org/ project maintains patches against #GnuPG with the goal of closer adherence to the IETF #OpenPGP spec.
One currently open question is if/how draft-ietf-openpgp-pqc support could be realistically added to #FreePG
I've started https://codeberg.org/freepg/freepg-draft-ietf-openpgp-pqc first of all as a notes-to-self repo for a (presumably very slow and long-term) side quest to explore this problem.
Specifically, the goal would be adding support for v4 ML-KEM-768+X25519 subkeys.
https://www.ietf.org/archive/id/draft-ietf-openpgp-pqc-17.html#ecc-mlkem
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
Various #OpenPGP-related activities, mostly in #Rustlang. - Very lean modern OpenPGP: https://minipgp6.org/ (@minipgp6) - Contributor to @rpgp - Blog/writeups: https://openpgp.foo - OpenPGP card (hardware security device) projects: https://codeberg.org/heiko#openpgp-card
minipgp6 is happening.
https://codeberg.org/minipgp6/ 🔐🤏
For the past four weeks I've immersed myself in writing an extremely minimal, modern #OpenPGP software stack.
There's still a lot of work ahead, but the current draft code already feels quite exciting.
It's very modular and currently weighs just over 5k LOC (including a small Stateless OpenPGP CLI tool).
I look forward to publishing a first version of the code in the coming weeks 🚀