You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Matt Corallo b3ec305f8e Fix bashisms in verify-commits and always check top commit's tree 6 years ago
..
README.md
allow-revsig-commits
gpg.sh Check gpg version before setting --weak-digest 6 years ago
pre-push-hook.sh
trusted-git-root
trusted-keys Allow any subkey in verify-commits 6 years ago
trusted-sha512-root-commit Fix bashisms in verify-commits and always check top commit's tree 6 years ago
verify-commits.sh Fix bashisms in verify-commits and always check top commit's tree 6 years ago

README.md

Tooling for verification of PGP signed commits

This is an incomplete work in progress, but currently includes a pre-push hook script (pre-push-hook.sh) for maintainers to ensure that their own commits are PGP signed (nearly always merge commits), as well as a script to verify commits against a trusted keys list.

Using verify-commits.sh safely

Remember that you can't use an untrusted script to verify itself. This means that checking out code, then running verify-commits.sh against HEAD is not safe, because the version of verify-commits.sh that you just ran could be backdoored. Instead, you need to use a trusted version of verify-commits prior to checkout to make sure you're checking out only code signed by trusted keys:

git fetch origin && \
  ./contrib/verify-commits/verify-commits.sh origin/master && \
  git checkout origin/master

Note that the above isn't a good UI/UX yet, and needs significant improvements to make it more convenient and reduce the chance of errors; pull-reqs improving this process would be much appreciated.