aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorPeter Todd <pete@petertodd.org>2016-06-09 13:55:12 -0400
committerPeter Todd <pete@petertodd.org>2016-06-09 13:58:29 -0400
commit966151e71dc33cb5b97cf4243efd18afb4cf279d (patch)
tree633a56b7e095bc224f9a1d4497263a44cea6be71 /contrib
parent11164ec0b4c1790059220b09b5827e5618a46c76 (diff)
downloadbitcoin-966151e71dc33cb5b97cf4243efd18afb4cf279d.tar.xz
Add README for verify-commits
Diffstat (limited to 'contrib')
-rw-r--r--contrib/verify-commits/README.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/contrib/verify-commits/README.md b/contrib/verify-commits/README.md
new file mode 100644
index 0000000000..e9e3f65da2
--- /dev/null
+++ b/contrib/verify-commits/README.md
@@ -0,0 +1,26 @@
+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.