-
Notifications
You must be signed in to change notification settings - Fork 10
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
gpg sign your commits #49
Comments
Will do, I've notified @zetok and @holgersson32644 to do the same. |
hasufell, how do you check those signatures btw? |
urras, what do you actually denote signing a commit? |
@l29ah Using |
@urras sure, but different people seem to mean different things when they sign a commit. |
The issue title says "gpg sign" and the provided link in the first post shows how it's done. I don't see how that can be misunderstood. |
The link doesn't clarify on what do they mean. It seems like popular interpretations are "signature verifies that the signer is the author of the changeset" and "same + signer trusts all the commits done before his commit". |
That doesn't make sense for non-merge commits and is not my job. I take responsibility only for my own commits, unless I pull someone elses changes. |
But Linus and people implementing the user-side validation think different: |
I don't see any indication of that in Linus posts. Linux is developed in a hiearchy manner and applies to exactly what I described in my previous post. You take responsibility of other commits ONLY if you MERGE them. And that's the only way to propagate patches up to Linus tree. There is no one who has direct access to Linus tree except Linus. |
… and his hoster. Just like in your project, but you have more than one valid pusher; that doesn't change the point. |
Three of the devs, I mean. |
The hoster cannot push with a valid gpg key.
As a user, you have to trust all of the pushers, obviously. Any pull request goes through at least one of them. So it's enough to check for the signatures of those pushers. Signed tags are usually used to review the whole state of a repository and mark it's integrity, but they don't make sense for overlays. If you want to automate the signature verification, write a script. |
So what should the script do? |
An incomplete example what it could do. Simple shell stuff.
|
I don't see the criteria of validity from your example. |
Read the git-log manpage. |
It doesn't specify how do i assert the validity of the repo. |
I gave you a working script that prints out all non-trusted commits. I'm not going to explain every piece of it. That's what the manpage is for. |
So do you mean |
A more interesting problem is the following: There are several ways to fix this problem:
|
So, here is the script that checks all commit signatures in a specific range except those that are part of a merged branch (but the merge commit is checked ofc).
This means:
Something similar will probably be done via update hooks for the gentoo git tree (if it ever comes). |
@urras do you have a complete list of people who have push access and their public gpg keys? We could then add some instructions to the readme how to automatically validate the signatures. |
@hasufell so it will succeed if the tree is totally fake w/o any signature whatsoever. By the way, ‰ gpg --recv-key 0x53137C3033F09008 |
no. |
My PGP key is at https://pgp.mit.edu/pks/lookup?op=get&search=0x9DD9AB20E51227D2 |
https://pgp.mit.edu/pks/lookup?op=get&search=0xE55E95E8220F34D7 |
PGP keys were added to AUTHORS in 61489b5 |
https://ariejan.net/2014/06/04/gpg-sign-your-git-commits/
The text was updated successfully, but these errors were encountered: