@@ -109,27 +109,46 @@ For a detailed mapping between the implementation and NIST SP 800-90A requiremen
109109To verify the integrity of the release tarball, you can use Cosign to check the signature and checksums. Follow these steps:
110110
111111``` sh
112- # Fetch the latest release tag from GitHub API (e.g., "v1.9 .0")
112+ # Fetch the latest release tag from GitHub API (e.g., "v1.13 .0")
113113TAG=$( curl -s https://api.github.com/repos/sixafter/aes-ctr-drbg/releases/latest | jq -r .tag_name)
114114
115- # Remove leading "v" for filenames (e.g., "v1.9 .0" -> "1.9 .0")
115+ # Remove leading "v" for filenames (e.g., "v1.13 .0" -> "1.13 .0")
116116VERSION=${TAG# v}
117117
118- # Verify the release tarball
118+ # ---------------------------------------------------------------------
119+ # Verify the source archive using Sigstore bundles
120+ # ---------------------------------------------------------------------
121+
122+ # Download the release tarball and its corresponding bundle
123+ curl -LO https://github.com/sixafter/aes-ctr-drbg/releases/download/${TAG} /aes-ctr-drbg-${VERSION} .tar.gz
124+ curl -LO https://github.com/sixafter/aes-ctr-drbg/releases/download/${TAG} /aes-ctr-drbg-${VERSION} .tar.gz.bundle.json
125+
126+ # Verify the tarball with Cosign using your published public key
119127cosign verify-blob \
120128 --key https://raw.githubusercontent.com/sixafter/aes-ctr-drbg/main/cosign.pub \
121- --signature aes-ctr-drbg-${VERSION} .tar.gz.sig \
122- aes-ctr-drbg-${VERSION} .tar.gz
129+ --bundle aes-ctr-drbg-${VERSION} .tar.gz.bundle.json \
130+ prng-chacha-${VERSION} .tar.gz
131+
132+ # ---------------------------------------------------------------------
133+ # Verify the checksums manifest using Sigstore bundles
134+ # ---------------------------------------------------------------------
123135
124- # Download checksums.txt and its signature from the latest release assets
136+ # Download checksums.txt and its bundle
125137curl -LO https://github.com/sixafter/aes-ctr-drbg/releases/download/${TAG} /checksums.txt
126- curl -LO https://github.com/sixafter/aes-ctr-drbg/releases/download/${TAG} /checksums.txt.sig
138+ curl -LO https://github.com/sixafter/aes-ctr-drbg/releases/download/${TAG} /checksums.txt.bundle.json
127139
128- # Verify checksums.txt with cosign
140+ # Verify checksums.txt with Cosign using your public key
129141cosign verify-blob \
130142 --key https://raw.githubusercontent.com/sixafter/aes-ctr-drbg/main/cosign.pub \
131- --signature checksums.txt.sig \
143+ --bundle checksums.txt.bundle.json \
132144 checksums.txt
145+
146+ # ---------------------------------------------------------------------
147+ # Confirm local artifact integrity
148+ # ---------------------------------------------------------------------
149+
150+ # Compute and validate checksums locally
151+ shasum -a 256 -c checksums.txt
133152```
134153
135154If valid, Cosign will output:
0 commit comments