-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rotate / create new repository signing key #4
Comments
For clarification where it would be beneficial
Here you could replace the
That way you don't even have to put a file in e.g. |
Do we expect people to have the archive keyring package installed? If not, how will people get the new key? |
There needs to be an /me duckt sich schonmal |
Hi, I would suggest considering ECC keys. They are still considered experimental ( In this guide I wrote, there's instructions on how to create Curve 25519 keys with GnuPG. There is certainly a way to do so in Sequoia as well, but it seems that Sequoia only really hit its stride after bookworm was released (with the Chameleon GnuPG compatibility layer, notably), so I didn't use that for those instructions in the aforementioned guide. Reading a bit on the sq manpage, it seems the magic command is sq-key-generate which defaults (imagine that) to cv25519 (!). The downside of this is that (like GnuPG), sequoia stores the generated key in a keyring, which duplicates the secret. A more canonical way to generate a keys nowadays is probably with the SOP (Stateless OpenPGP) interface, for which there are a couple of implementations in debian as well. Here's the sequoia implementation but there's also a similar rpgpie and gosop implementation, all of which should generally be equivalent:
Simple, no? :) (While I'm here, I would advise dropping the Note that last time I tried to convert an APT repo to ECC, however, it failed: old buster (and bullseye?) servers failed to parse those newer keys. But that's probably not a problem GRML will have other than for really old images. I think it's a great idea to inject the public key directly in the re:
Well, if there's an archive keyring, that surely seems like a good way to get this installed. Otherwise, if I remember correctly there's now ways of propagating messages from the repository to the APT client (see the non-free-firmware change, for example), perhaps that could be leveraged to warn people during a transition period? Otherwise people will just fail to get updates, then look for the key. Just make sure you update it consistently everywhere, and, perhaps, document where "everywhere" is in this process so you make a list for next time (and fix it as you find new moles to whack). Alright, that's all i got, happy to answer any further questions with my modest knowledge of this. |
I recall this was hardcoded in apt :( |
I'd recommend storing the archive keyring under I'd also echo about trying to put some distance with GnuPG (given their incompatible fork of the ecosystem) and go for either SOP (for completeness there's also the Java-based pgpainless-cli implementation), or For the question on how to bootstrap the archive certificates, I think there are several options. One could be to upload the keyring package to Debian, there is precedent here, although it might get rejected if it is deemed too niche (perhaps?), another could be to add an entry to |
Not sure where we want to actually track this, but to not forget about it and since we need to look into the repository signing key topic anyways together: I'd also like to get towards a release signing process that does not depend on myself, but instead all our core devs should be able to sign our releases files (ISO/sources/...) and have that working with the instructions at Verify your download. |
BTW, with the just released |
As noted by cb on IRC (thx!):
Our key is very long as plain text, something newer might be shorter.
Also would be nice to use our repository signing key as-is in
/etc/apt/keyrings/
viagrml.sources
.Last but not least, our latest signing key change dates back to 2015, and we might consider creating a more modern/fresh one also for security reasons.
FTR:
I'd be more than happy for any suggestions regarding best practices in terms of GPG implementation usage, key generation settings and command line options. @anarcat maybe might have valuable input for us here? :)
The text was updated successfully, but these errors were encountered: