-
Notifications
You must be signed in to change notification settings - Fork 380
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
RFE: Enforce OpenPGP signatures by default #1573
Comments
Rpm actually already verifies signatures if present by default since 4.0 or thereabouts, but it doesn't require them. Enforcing is supported since >= 4.14.2 and we also have the bypass-switch (--nosignature) already, so from strict technical perspective this is just a matter of one line change to turn the policy switch to 11 ( The only thing stopping us is that it breaks the workflow of installing your own local builds - you need to sign or use --nosignature to install. For everything else this is 20 years too late already 😅 As the average user is not even affected at all... maybe the folks who build packages can be expected to deal with a little extra configuration to make the rest of the world that much safer. |
Agreed. Those who build packages can generate their own signing keys. Personally, I would consider being able to disable this on a per-package basis a good idea, but it isn’t a blocker. |
How is |
It does for |
A tricky case is when you mix local builds and downloaded packages in a single transaction. For example Signing local builds with some temporary key might workaround the problem, but I see few issues with that:
I don't have a good solution for this. This mostly seems like an issue of rpm not knowing a package origin. And letting it know that most likely will complicate interface significantly, which we definitely don't want in a security-critical code. But generally, I think benefits of |
This is obviously only an enabler for automatic signing. The other half of the equation is automatically setting it up, but that's another ticket (rpm-software-management#3522). This lets us at least manually enable automatic signing in the test-suite, which in turn is a pre-requisite for enabling enforcing signature checking by default (rpm-software-management#1573). Set up auto-signing inside the test-suite throughout, using a freshly generated key for each run. With the exception of the reproducibility tests where this would be harmful. This is a rather primitive thing in this state - ideally the signing would happen in parallel, but as the signing code relies heavily on macro manipulation, that's a much bigger task for some other time. Also I think we'd rather use an rpm specific keyring for the automatic signing, but that requires further changes to how the signing macros work. Fixes: rpm-software-management#2678
This is obviously only an enabler for automatic signing. The other half of the equation is automatically setting it up, but that's another ticket (rpm-software-management#3522). This lets us at least manually enable automatic signing in the test-suite, which in turn is a pre-requisite for enabling enforcing signature checking by default (rpm-software-management#1573). Set up auto-signing inside the test-suite throughout, using a freshly generated key for each run. With the exception of the reproducibility tests where this would be harmful. This is a rather primitive thing in this state - ideally the signing would happen in parallel, but as the signing code relies heavily on macro manipulation, that's a much bigger task for some other time. Also I think we'd rather use an rpm specific keyring for the automatic signing, but that requires further changes to how the signing macros work. Fixes: rpm-software-management#2678
It might be good to start verifying GPG signatures by default.
Adding --nogpcheck option (following what dnf has already) might be a good compromise for users that want to turn it off for individual package installs.
The text was updated successfully, but these errors were encountered: