Skip to content

refactor: extract cacheFileHash helper function

77e5ea3
Select commit
Loading
Failed to load commit list.
Draft

fix: prevent cache collisions when URLs return duplicate ETags #1949

refactor: extract cacheFileHash helper function
77e5ea3
Select commit
Loading
Failed to load commit list.
Chainguard Enforce / Enforce - Commit Signing succeeded Nov 24, 2025 in 1s

Successfully verified commit signature.

CLAIM DESCRIPTION
Found Git signature
Validated Git signature
Validated Rekor entry
Allowed by policy

Details

Certificate

Details
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 129412516299178247649976517885534132511899148392 (0x16ab0ed496a4dc911503f6bd3f851a6288906068)
    Signature Algorithm: ECDSA-SHA384
        Issuer: O=sigstore.dev,CN=sigstore-intermediate
        Validity
            Not Before: Nov 24 14:54:05 2025 UTC
            Not After : Nov 24 15:04:05 2025 UTC
        Subject:         Subject Public Key Info:
            Public Key Algorithm: ECDSA
                Public-Key: (256 bit)
                X:
                    19:88:07:d6:15:f4:fc:1e:6a:c6:a9:5b:fb:89:30:
                    3f:0e:7a:7d:13:4c:61:7b:1f:59:23:01:72:7f:db:
                    76:98
                Y:
                    d7:84:42:1e:93:87:fd:12:16:1e:e7:30:90:e3:17:
                    31:54:c3:7e:96:5f:86:02:ab:0e:16:91:37:28:6f:
                    50:39
                Curve: P-256
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature
            X509v3 Extended Key Usage:
                Code Signing
            X509v3 Subject Key Identifier:
                15:97:F6:30:C8:4D:A2:4D:B1:E8:7A:03:D0:9C:12:CD:A6:15:2D:CF
            X509v3 Authority Key Identifier:
                keyid:DF:D3:E9:CF:56:24:11:96:F9:A8:D8:E9:28:55:A2:C6:2E:18:64:3F
            X509v3 Subject Alternative Name: critical
                email:james.page@chainguard.dev
            oidcIssuer:
                https://accounts.google.com
            Unknown extension 1.3.6.1.4.1.57264.1.8
            Signed Certificate Timestamp:
                BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABmrZbj+8AAAQDAEcwRQIgHp9POc2gfiEjvhAkFVMI6P6ytryWyH7OToMlu25ov5YCIQDwJOr3J2GaB1TkqGsL862Oh1pe4/kldisoCEk9eVnI1g==

    Signature Algorithm: ECDSA-SHA384
         30:65:02:31:00:f5:3b:97:33:ee:40:cb:a5:44:b2:51:a5:68:
         89:58:8b:c7:5c:ea:db:95:d5:a9:5c:c3:6f:19:47:76:fc:76:
         82:82:dd:cd:75:31:f2:04:dc:4c:fa:1a:6c:b1:85:d5:ec:02:
         30:31:1a:97:bc:3a:f6:27:a8:f8:10:79:95:93:ba:1f:d7:c7:
         75:2b:10:8a:82:58:26:4f:34:ef:e9:7c:ec:63:00:54:69:ed:
         4c:51:85:6d:68:03:60:bd:4f:13:07:6b:ed

Rekor Entry

Details
{
  "body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJiNmM2MzZkZWJmODg1N2FlOTIxZjNlNTU0YjVlZjhmNTFlNTE5ODM1Nzk5YmJlZGFkMzU4MWExYTJhN2JkNjQ4In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRitOc0FLOUp1djB0MGhFdWZldlA3c1BoM0dJenlvd3ZaYlRkMTVvY053WUFpRUFobDY1Mk81RmlIVThPZzhieUVxdHVmMHBkcmJlUzNYRnUwSEFEZHoycVcwPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTXdha05EUVd4cFowRjNTVUpCWjBsVlJuRnpUekZLWVdzelNrVldRUzloT1ZBMFZXRlpiMmxSV1VkbmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFZlRTFVU1RCTlZGRXhUa1JCTVZkb1kwNU5hbFY0VFZSSk1FMVVWWGRPUkVFeFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZIV1dkSU1XaFlNQzlDTlhGNGNXeGlLelJyZDFCM05UWm1VazVOV1ZoelpsZFRUVUlLWTI0dlltUndhbGhvUlVsbGF6Um1PVVZvV1dVMWVrTlJOSGhqZUZaTlRpdHNiQ3RIUVhGelQwWndSVE5MUnpsUlQyRlBRMEZZWTNkblowWjZUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZHV21ZeUNrMU5hRTV2YXpKNE5raHZSREJLZDFONllWbFdUR000ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBwM1dVUldVakJTUVZGSUwwSkNNSGRITkVWYVlXMUdkRnBZVFhWalIwWnVXbFZDYW1GSFJuQmliV1F4V1ZoS2EweHRVbXhrYWtGd1FtZHZjZ3BDWjBWRlFWbFBMMDFCUlVKQ1FuUnZaRWhTZDJONmIzWk1Na1pxV1RJNU1XSnVVbnBNYldSMllqSmtjMXBUTldwaU1qQjNTM2RaUzB0M1dVSkNRVWRFQ25aNlFVSkRRVkZrUkVKMGIyUklVbmRqZW05MlRESkdhbGt5T1RGaWJsSjZURzFrZG1JeVpITmFVelZxWWpJd2QyZFpiMGREYVhOSFFWRlJRakZ1YTBNS1FrRkpSV1pCVWpaQlNHZEJaR2RFWkZCVVFuRjRjMk5TVFcxTldraG9lVnBhZW1ORGIydHdaWFZPTkRoeVppdElhVzVMUVV4NWJuVnFaMEZCUVZweE1ncFhOQzkyUVVGQlJVRjNRa2hOUlZWRFNVSTJabFI2Yms1dlNEUm9TVGMwVVVwQ1ZsUkRUMm9yYzNKaE9HeHphQ3Q2YXpaRVNtSjBkV0ZNSzFkQmFVVkJDamhEVkhFNWVXUm9iV2RrVlRWTGFISkRMMDkwYW05a1lWaDFVRFZLV0ZseVMwRm9TbEJZYkZwNVRsbDNRMmRaU1V0dldrbDZhakJGUVhkTlJHRkJRWGNLV2xGSmVFRlFWVGRzZWxCMVVVMTFiRkpNU2xKd1YybEtWMGwyU0ZoUGNtSnNaRmR3V0UxT2RrZFZaREl2U0dGRFozUXpUbVJVU0hsQ1RuaE5LMmh3Y3dweldWaFdOMEZKZDAxU2NWaDJSSEl5U2pacU5FVkliVlpyTjI5bU1UaGtNVXQ0UTB0bmJHZHRWSHBVZGpaWWVuTlpkMEpWWVdVeFRWVlpWblJoUVU1bkNuWlZPRlJDTW5aMENpMHRMUzB0UlU1RUlFTkZVbFJKUmtsRFFWUkZMUzB0TFMwSyJ9fX19",
  "integratedTime": 1763996045,
  "logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
  "logIndex": 720925348,
  "verification": {
    "inclusionProof": {
      "checkpoint": "rekor.sigstore.dev - 1193050959916656506\n599026219\nKJdrx1gaVwB5XGwz4OomcZGV7+Bre/5/VL3Rb3vJk3U=\n\n— rekor.sigstore.dev wNI9ajBEAiBAG2oVlErRaUnD/NUqMadZHaQP0OYUBy+2LpGXXRGlogIgROl3T2TjbhXFsfexEtj65eKB/cONxzhPibD5e5VT2Ro=\n",
      "hashes": [
        "0d9642106b9303521d4b005d97aaa423be18a31c95d27d3adf3c3d536d2cf0ce",
        "5f32b0518a6872bcb0aebf44d397cffd3a7567bda3ce05b22ad3f74d97cba102",
        "69d32c849d2b98b3388ad6740225111bf39c47c7624e7664d8d69596abbea4e6",
        "8bde84c51cd2ac13e2fd911df77d36e54384b23bac8f39d5249f67db1db73905",
        "698cdb7cd5f12458b0eb92170b4636f855164da5e16b93c5159e120eceecd0b6",
        "77ee4a0cfff2ae1f56900383bd6dc07973ce2285b2bcd54f50af0a65deb3b793",
        "e1ab6514451f191f8a4e5be4394eb8256e123925e40df167753a786b2712b29d",
        "c7ec391666188ec38bc9bb7fb06bbc09a585ee628273976f309efe9799c2cb91",
        "cdcae7f8ee46f99fa1a886081a2c7893c57d7687991f76f94cedad86c07ab541",
        "e090356ea66f2bf12f618b38751dcbfa64fc66b68a70507cd9db29cdea668f0b",
        "0a518ae96e795ba3a01d6217e00fefe1d8a2e3ad992fda1bc59934f4c09f5f01",
        "80a1c8096165a42e03bad4b3f622471ac4dc0174d45b2639515251a79846628a",
        "43de2e1e49b39b0a05ac42546a1f3f3c7fd0d857698519eaaa2b0c41fccdf9bd",
        "7b4bc21cf7830cbf053437985d5e6c5fd80944bc2ec62b012804194b76a44cd3",
        "a4ed3c0de2d7edc29ffbe5f35f14f5f2c62c71f89fbeef4a6f24b391abcc06f7",
        "3f0dbd2d3d84d7f9b9163b7cead7e97a8d6af228bb5225685f574235850ea46e",
        "bb6671734f070dd56851c222fef5eae7a89a81500a087afc6616f430d75193d8",
        "85c49ea5950dd906064220eabe3cc10716ecf217ffdaff6d2cb42d99a66a510c",
        "da0399de479ec182ec7191b51196b2b79bd78ae0bfcfd74716199879566242f3",
        "de5f3eb0a3c40e8a22d30445f140a296e81298ab6d0dc324ac33de7d1779b3c5",
        "7f68f59633118f03bca377fd9d2a754bcc6edba20b7a101f51fdf096dad908a5",
        "4f80ea583e36840b4dfaf5fc8ca096aa80b899e13825e908f4bc5818270fcb53"
      ],
      "logIndex": 599021086,
      "rootHash": "28976bc7581a5700795c6c33e0ea26719195efe06b7bfe7f54bdd16f7bc99375",
      "treeSize": 599026219
    },
    "signedEntryTimestamp": "MEUCICKtIsdC95bHkF9lkJ3KUOYACm10KG5uneRJ+U4bQOZyAiEA2eWOhxI9lHnUDi1VkBP4VHd+obm+KWO0ufPH6Knx79g="
  }
}