verify-commits: temporarily allow sha1 signatures for merge commits #34245

pull darosior wants to merge 1 commits into bitcoin:master from darosior:2601_fix_ci_sha1 changing 1 files +1 −1
  1. darosior commented at 11:37 pm on January 9, 2026: member
    This is to unbreak CI after a merge commit (aeaa67a9eac0decb89c60a67f9755ca10cbcc1d9) with a signature indirectly involving SHA1 was pushed to master.
  2. verify-commits: temporarily allow sha1 signatures for merge commits
    This is to unbreak CI after a merge commit with a signature indirectly involving SHA1 was pushed to master.
    12ffca9ccd
  3. DrahtBot commented at 11:37 pm on January 9, 2026: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/34245.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  4. achow101 commented at 0:30 am on January 10, 2026: member

    I don’t think we should blanket allow sha1, even temporarily. Furthermore, this would still break anyone doing a full verify-commits to the trusted root.

    I’ve opened #34246 as an alternative to give an exception to the problematic commit.

  5. darosior commented at 0:39 am on January 10, 2026: member

    Your solution also looks good to me. I don’t think it matters too much: we’ll revert either in a week from now anyways.

    ——– Original Message ——– On Friday, 01/09/26 at 19:31 Ava Chow @.***> wrote:

    achow101 left a comment (bitcoin/bitcoin#34245)

    I don’t think we should blanket allow sha1, even temporarily. Furthermore, this would still break anyone doing a full verify-commits to the trusted root.

    I’ve opened #34246 as an alternative to give an exception to the problematic commit.

    — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

  6. maflcko commented at 11:49 am on January 10, 2026: member

    Not sure about this. If this is only a temporary CI fix, to be reverted in a few days, then i’d say it isn’t needed and the CI can simply be ignored for those days (it only affects the main branch)

    My recommendation for a temporary workaround would be to just have another maintainer create a “re-merge” commit manually. That is, treat aeaa67a9eac0decb89c60a67f9755ca10cbcc1d9 as if it was a pull request, then merge it again into 595504a43209bead162da54a204df7d140a25f0e and push the new “re-merge” commit. Instead of a hard force push to re-write history, this will softly treat the failing merge commit no different than any other commit in any pull request, which may be signed, but is not checked by the verify script.

  7. fanquake commented at 3:33 pm on January 10, 2026: member
    Closing for now, given there doesn’t seem to be agreement on this approach.
  8. fanquake closed this on Jan 10, 2026

  9. sedited commented at 10:54 am on January 16, 2026: contributor
    I updated the key with refreshed base signatures. Seems to work for me locally again, but would be good if others checked too. I pushed the key to some common key servers.
  10. hebasto commented at 11:51 am on January 16, 2026: member

    I updated the key with refreshed base signatures. Seems to work for me locally again, but would be good if others checked too. I pushed the key to some common key servers.

    I can confirm that for the signing subkey with keyid: 9B79B45691DB4173, the previous signature packet using digest algo 2 (SHA-1) has been updated with the new signature packet using digest algo 10 (SHA-512):

      0$ gpg --refresh-keys --keyserver hkps://keys.openpgp.org
      1$ gpg --export A8FC55F3B04BA3146F3492E79303B33A305224CB | gpg --list-packets
      2# off=0 ctb=99 tag=6 hlen=3 plen=525
      3:public key packet:
      4	version 4, algo 1, created 1507239087, expires 0
      5	pkey[0]: [4096 bits]
      6	pkey[1]: [17 bits]
      7	keyid: 9303B33A305224CB
      8# off=528 ctb=b4 tag=13 hlen=2 plen=50
      9:user ID packet: "Sebastian Kung (TheCharlatan) <seb.kung@gmail.com>"
     10# off=580 ctb=89 tag=2 hlen=3 plen=569
     11:signature packet: algo 1, keyid 9303B33A305224CB
     12	version 4, created 1507239087, md5len 0, sigclass 0x13
     13	digest algo 2, begin of digest 75 22
     14	hashed subpkt 2 len 4 (sig created 2017-10-05)
     15	hashed subpkt 27 len 1 (key flags: 01)
     16	hashed subpkt 11 len 6 (pref-sym-algos: 9 8 7 3 2 1)
     17	hashed subpkt 21 len 5 (pref-hash-algos: 8 2 9 10 11)
     18	hashed subpkt 22 len 3 (pref-zip-algos: 2 3 1)
     19	hashed subpkt 30 len 1 (features: 01)
     20	hashed subpkt 23 len 1 (keyserver preferences: 80)
     21	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
     22	data: [4096 bits]
     23# off=1152 ctb=89 tag=2 hlen=3 plen=574
     24:signature packet: algo 1, keyid 9303B33A305224CB
     25	version 4, created 1513874756, md5len 0, sigclass 0x13
     26	digest algo 2, begin of digest 7a 44
     27	hashed subpkt 27 len 1 (key flags: 01)
     28	hashed subpkt 30 len 1 (features: 01)
     29	hashed subpkt 23 len 1 (keyserver preferences: 80)
     30	hashed subpkt 2 len 4 (sig created 2017-12-21)
     31	hashed subpkt 11 len 9 (pref-sym-algos: 9 13 8 12 7 11 10 3 2)
     32	hashed subpkt 21 len 6 (pref-hash-algos: 10 9 8 11 2 3)
     33	hashed subpkt 22 len 4 (pref-zip-algos: 2 3 1 0)
     34	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
     35	data: [4093 bits]
     36# off=1729 ctb=b4 tag=13 hlen=2 plen=28
     37:user ID packet: "sedited <seb.kung@gmail.com>"
     38# off=1759 ctb=89 tag=2 hlen=3 plen=596
     39:signature packet: algo 1, keyid 9303B33A305224CB
     40	version 4, created 1768501423, md5len 0, sigclass 0x13
     41	digest algo 10, begin of digest 4b 18
     42	hashed subpkt 27 len 1 (key flags: 01)
     43	hashed subpkt 11 len 4 (pref-sym-algos: 9 8 7 2)
     44	hashed subpkt 34 len 1 (pref-aead-algos: 2)
     45	hashed subpkt 21 len 5 (pref-hash-algos: 10 9 8 11 2)
     46	hashed subpkt 22 len 3 (pref-zip-algos: 2 3 1)
     47	hashed subpkt 30 len 1 (features: 07)
     48	hashed subpkt 23 len 1 (keyserver preferences: 80)
     49	hashed subpkt 33 len 21 (issuer fpr v4 A8FC55F3B04BA3146F3492E79303B33A305224CB)
     50	hashed subpkt 2 len 4 (sig created 2026-01-15)
     51	hashed subpkt 25 len 1 (primary user ID)
     52	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
     53	data: [4092 bits]
     54# off=2358 ctb=b9 tag=14 hlen=3 plen=525
     55:public sub key packet:
     56	version 4, algo 1, created 1507239607, expires 0
     57	pkey[0]: [4096 bits]
     58	pkey[1]: [17 bits]
     59	keyid: 9B79B45691DB4173
     60# off=2886 ctb=89 tag=2 hlen=3 plen=1115
     61:signature packet: algo 1, keyid 9303B33A305224CB
     62	version 4, created 1631953913, md5len 0, sigclass 0x18
     63	digest algo 8, begin of digest 8b c9
     64	hashed subpkt 27 len 1 (key flags: 02)
     65	hashed subpkt 33 len 21 (issuer fpr v4 A8FC55F3B04BA3146F3492E79303B33A305224CB)
     66	hashed subpkt 2 len 4 (sig created 2021-09-18)
     67	hashed subpkt 9 len 4 (key expires after 7y348d10h51m)
     68	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
     69	subpkt 32 len 540 (signature: v4, class 0x19, algo 1, digest algo 2)
     70	data: [4096 bits]
     71# off=4004 ctb=89 tag=2 hlen=3 plen=1129
     72:signature packet: algo 1, keyid 9303B33A305224CB
     73	version 4, created 1768556812, md5len 0, sigclass 0x18
     74	digest algo 10, begin of digest 69 ab
     75	hashed subpkt 27 len 2 (key flags: 02 04)
     76	hashed subpkt 33 len 21 (issuer fpr v4 A8FC55F3B04BA3146F3492E79303B33A305224CB)
     77	hashed subpkt 2 len 4 (sig created 2026-01-16)
     78	hashed subpkt 9 len 4 (key expires after 12y104d12h6m)
     79	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
     80	subpkt 32 len 553 (signature: v4, class 0x19, algo 1, digest algo 10)
     81	data: [4095 bits]
     82# off=5136 ctb=b9 tag=14 hlen=3 plen=525
     83:public sub key packet:
     84	version 4, algo 1, created 1507241023, expires 0
     85	pkey[0]: [4096 bits]
     86	pkey[1]: [17 bits]
     87	keyid: DAB71C6FBCD75257
     88# off=5664 ctb=89 tag=2 hlen=3 plen=572
     89:signature packet: algo 1, keyid 9303B33A305224CB
     90	version 4, created 1631953913, md5len 0, sigclass 0x18
     91	digest algo 8, begin of digest c8 28
     92	hashed subpkt 27 len 1 (key flags: 0C)
     93	hashed subpkt 33 len 21 (issuer fpr v4 A8FC55F3B04BA3146F3492E79303B33A305224CB)
     94	hashed subpkt 2 len 4 (sig created 2021-09-18)
     95	hashed subpkt 9 len 4 (key expires after 7y348d10h28m)
     96	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
     97	data: [4095 bits]
     98# off=6239 ctb=89 tag=2 hlen=3 plen=572
     99:signature packet: algo 1, keyid 9303B33A305224CB
    100	version 4, created 1768556781, md5len 0, sigclass 0x18
    101	digest algo 10, begin of digest 34 16
    102	hashed subpkt 27 len 1 (key flags: 0C)
    103	hashed subpkt 33 len 21 (issuer fpr v4 A8FC55F3B04BA3146F3492E79303B33A305224CB)
    104	hashed subpkt 2 len 4 (sig created 2026-01-16)
    105	hashed subpkt 9 len 4 (key expires after 12y104d11h42m)
    106	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
    107	data: [4095 bits]
    108# off=6814 ctb=b9 tag=14 hlen=3 plen=525
    109:public sub key packet:
    110	version 4, algo 1, created 1507241176, expires 0
    111	pkey[0]: [4096 bits]
    112	pkey[1]: [17 bits]
    113	keyid: 7651CCCB55BC4D56
    114# off=7342 ctb=89 tag=2 hlen=3 plen=572
    115:signature packet: algo 1, keyid 9303B33A305224CB
    116	version 4, created 1631953914, md5len 0, sigclass 0x18
    117	digest algo 8, begin of digest 90 8f
    118	hashed subpkt 27 len 1 (key flags: 20)
    119	hashed subpkt 33 len 21 (issuer fpr v4 A8FC55F3B04BA3146F3492E79303B33A305224CB)
    120	hashed subpkt 2 len 4 (sig created 2021-09-18)
    121	hashed subpkt 9 len 4 (key expires after 7y348d10h25m)
    122	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
    123	data: [4096 bits]
    124# off=7917 ctb=89 tag=2 hlen=3 plen=572
    125:signature packet: algo 1, keyid 9303B33A305224CB
    126	version 4, created 1768556801, md5len 0, sigclass 0x18
    127	digest algo 10, begin of digest dd 89
    128	hashed subpkt 27 len 1 (key flags: 20)
    129	hashed subpkt 33 len 21 (issuer fpr v4 A8FC55F3B04BA3146F3492E79303B33A305224CB)
    130	hashed subpkt 2 len 4 (sig created 2026-01-16)
    131	hashed subpkt 9 len 4 (key expires after 12y104d11h40m)
    132	subpkt 16 len 8 (issuer key ID 9303B33A305224CB)
    133	data: [4095 bits]
    

    Additionally, I’d suggest testing the updated key by running contrib/verify-commits/verify-commits.py locally.


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-01-21 00:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me