Where
-Infinity
0

On Monday, 29 December 2025 at 02:36, Demi Marie Obenour <demiobenour () gmail com> wrote: In light of the recent GnuPG vulnerabilities, I remembered that OpenPGP is almost never the right choice. CMS/PKCS#7 isn't any better, and X.509 is also bad except that its extremely wide deployment in TLS keeps it alive.

See https://www.latacora/com/blog/2019/07/16/the-pgp-problem/

and https://soatok.blog/2024/11/15/what-to-use-instead-of-pgp/. OpenBSD has signify[1] and the article "Securing OpenBSD From Us To You" by the main author is worth reading. Having been a loyal GnuPG user for long years, these vulnerabilities made me reconsider my approach to signing yet again. This time, though, I decided to act on it. I wrote a clean Rust implementation of signify and called it signify-rs[3]. It uses the same license (ISC) as the reference implementation. Code is free of unsafes and arithmetic side effects. No proc macros are used in the code or any dependencies making it static-linking friendly. It's fairly portable and passes tests on FreeBSD, NetBSD, Linux and Windows.

My initial goal is to switch signing Syd binary releases from gpg to signify. Next intention is to consider signing package manifests on Exherbo Linux distribution with it. If my memory serves me right, Gentoo Linux and Portage has support for GPG signed manifests and it has been a longstanding issue in Exherbo Linux how we want to do manifests. Current consensus is to use thin package manifests on a best-effort basis because we lack the developer time to go all in. Thin manifests store a single checksum and package size of the relevant package distfiles. My goal/dream is to integrate signify into this workflow and start signing thin manifests using signify.

Sharing is caring, so here is the git[5] and CI[6]. CI saves static-linked signify binaries as build artifacts which gives an option to quickly test. Enjoy.

Finally, my contribution is the "keyring" feature. When built with this feature on Linux, keyrings(7) support is compiled in. This adds a "-k <key-id>" argument to the subcommands -G(enerate) and -S(ign) when the user may submit a 32-bit key ID rather than inputting the passphrase manually with a prompt.

[1]: https://man.openbsd.org/signify [2]: https://www.openbsd.org/papers/bsdcan-signify.html [3]: https://crates.io/crates/signify-rs [4]: https://www.kepstin.ca/blog/manifest-generation-in-exherbo/ [5]: https://git.sr.ht/~alip/signify [6]: https://builds.sr.ht/~alip/signify -- Sincerely, Demi Marie Obenour (she/her/hers) Best regards, Ali Polatel

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203