Verifying release artifacts
Every official Gately release ships with signatures and provenance, so you can confirm that the files you downloaded were built by this repository's GitHub Actions and were not tampered with. All signatures use Sigstore keyless signing, so there is no private key to protect.
Binary archives
The release page provides checksums.txt (SHA-256 of each archive), checksums.txt.sigstore.json (the signature of the checksum file) and an SBOM.
- Verify the archive's SHA-256:
bash
sha256sum -c checksums.txt --ignore-missing- Verify the signature of
checksums.txtwith cosign. The signing identity must be this repository's release workflow:
bash
cosign verify-blob checksums.txt \
--bundle checksums.txt.sigstore.json \
--certificate-identity-regexp '^https://github.com/wangwanjie/gately/\.github/workflows/release\.yml@refs/tags/v' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com- You can also verify the build provenance of a single archive with the GitHub CLI:
bash
gh attestation verify gately_v1.0.0_linux_amd64.tar.gz --repo wangwanjie/gatelyDocker image
bash
cosign verify ghcr.io/wangwanjie/gately:latest \
--certificate-identity-regexp '^https://github.com/wangwanjie/gately/\.github/workflows/release\.yml@refs/tags/v' \
--certificate-oidc-issuer https://token.actions.githubusercontent.comThe registry also stores an SBOM and a provenance attestation for the image. Inspect the SBOM with:
bash
docker buildx imagetools inspect ghcr.io/wangwanjie/gately:latest --format '{{ json .SBOM }}'SBOM
gately_<version>_sbom.spdx.json in the release is in SPDX format. It lists every Go module and frontend dependency, and can be fed to grype, trivy and similar scanners.