Skip to content

Commit 9471576

Browse files
committed
[verify-commits] Add some additional useful documentation.
1 parent de7e931 commit 9471576

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

contrib/verify-commits/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,24 @@ keys:
2424
Note that the above isn't a good UI/UX yet, and needs significant improvements
2525
to make it more convenient and reduce the chance of errors; pull-reqs
2626
improving this process would be much appreciated.
27+
28+
Configuration files
29+
-------------------
30+
31+
* `trusted-git-root`: This file should contain a single git commit hash which is the first unsigned git commit (hence it is the "root of trust").
32+
* `trusted-sha512-root-commit`: This file should contain a single git commit hash which is the first commit without a SHA512 root commitment.
33+
* `trusted-keys`: This file should contain a \n-delimited list of all PGP fingerprints of authorized commit signers (primary, not subkeys).
34+
* `allow-revsig-commits`: This file should contain a \n-delimited list of git commit hashes. See next section for more info.
35+
36+
Key expiry/revocation
37+
---------------------
38+
39+
When a key (or subkey) which has signed old commits expires or is revoked,
40+
verify-commits will start failing to verify all commits which were signed by
41+
said key. In order to avoid bumping the root-of-trust `trusted-git-root`
42+
file, individual commits which were signed by such a key can be added to the
43+
`allow-revsig-commits` file. That way, the PGP signatures are still verified
44+
but no new commits can be signed by any expired/revoked key. To easily build a
45+
list of commits which need to be added, verify-commits.sh can be edited to test
46+
each commit with BITCOIN_VERIFY_COMMITS_ALLOW_REVSIG set to both 1 and 0, and
47+
those which need it set to 1 printed.

0 commit comments

Comments
 (0)