-
Notifications
You must be signed in to change notification settings - Fork 56
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
Feature Request: Better distinction of signature verification vs. trust #89
Comments
So, I'm more than happy to see it expanded, and I understand your concerns on trust vs. verified. I'd be more than happy to see improvements here. I agree it should not fail for untrusted, perhaps we need tasks that do though? ( The reality is that after I implemented the method and checked some real-life project there were SO MANY missing PGP signatures, that I realized it'd be impractical to ever force More than happy to see your two-column approach. Send the PRs :) |
Thanks for the feedback Josh. It's a pretty functional quick hack already 😃 It's unfortunate that a lot of packages aren't signed, at least Maven Central requires it but I wouldn't be surprised if that's at least part of the reason that some people prefer to use other repos, lower friction… That does bring up a point: I was thinking Anyway I'll try to get something cooking when I can find the hack time 😄 |
regarding things not being signed, I think it's just a matter of time until everything we use in maven-central is something that has been published under the "required PGP signature" regime we have now. So it's a temporary problem, but one that convinced me not to pursue |
This would allow sbt-pgp to auto download untrusted keys and check to see if they are trusted later. |
maybe a |
This is a feature request, I'll try to work on it myself when I can find time but I wanted to log the idea. The project is due for some love 😊
The current output of
checkPgpSignatures
conflates trust and signature verification. The usage documentation kind of acknowledges the shortcoming:(I presume the last sentence is a typo,
s/The public/The plugin
).Mere presence of a key on my keyring, with no signature by me, is not how trust works in PGP. I think we all know that, but sbt-pgp could do better to make this clear.
In reality most of us can't reasonably expect to trust, in the formal PGP sense, the providers of every library dependency in our software projects, open source communities are so far-reaching and there aren't that many dedicated regular PGP users out there to realistically connect a web.
So in practice, trust is secondary to signature verification for the usage of PGP signing in artifact distribution: we want to feel confident that binaries haven't been altered or corrupted.
I propose that
checkPgpSignatures
should output two distinct columns:gpg
tool displays (I haven't consulted the OpenPGP spec in detail yet but I'm hoping that basically maps to the content of the opaque byte array from Bouncy Castle's getTrustData(), but that might be "owner trust"…).IMO, the task should pass if all signatures are valid, regardless of trust. This is the most practically and realistically useful behavior and is consistent with the task's name. Then we could improve on the ambiguity of the summary output:
Finally, it would be nice if the plugin offered to import all the keys missing on the keyring, to make it easier to actually use
checkPgpSignatures
on a regular basis, even as an sbt-releaseReleaseStep
for instance. This could be worked on as a separate feature.The text was updated successfully, but these errors were encountered: