Verify a release before you install it
Run this before unpacking the archive. It needssha256sum and cosign, and it changes
nothing.
1
Get the public key from your delivery record
Take
cosign.pub from the channel that announced the release, not from inside the archive. A
key that travels inside the thing it verifies answers the wrong question: if the archive had
been tampered with, so had the key.2
Check the key fingerprint against your contract
The key’s fingerprint is written into your SOW or contract. Two independent channels, so the
verification is never circular: a key and a signature that both arrived by the same route
prove nothing to each other.
If the fingerprint you compute and the one in your contract disagree, stop and contact us
through the channel in your delivery record. Do not resolve the disagreement by trusting
whichever one is more convenient.
3
Verify the bundle
The signature first, then the contents. Only the first proves the bundle came from ROOTKey;
Both exit non-zero on failure. Run them from the unpacked bundle directory, before running
the installer.
sha256sum -c on its own proves the archive is internally consistent, which a tampered
archive also is.4
Compare the archive checksum against what we told you
Compute the archive’s SHA-256 with
sha256sum rootkey-onprem-<version>.tar.gz and compare it
against the value in the message that announced the release — not against a value that travelled with the file. A checksum
shipped alongside the thing it checksums proves only that the two arrived together.What a failed check means
SHA256SUMS.sig is missing
SHA256SUMS.sig is missing
The release was not signed. Every ROOTKey release is, so an unsigned bundle either did not
come from us or was built incorrectly. Do not install it. Contact us.
The signature does not verify
The signature does not verify
Either the archive was altered after we signed it, or you are checking against the wrong
key. Re-download the bundle and re-check the key fingerprint against your contract. If it
fails a second time, contact us — do not install it in the meantime.
Contents do not match SHA256SUMS
Contents do not match SHA256SUMS
Files have been added, removed or changed since the bundle was built. The usual innocent
cause is unpacking a new release over an old one in the same directory. Unpack into a clean
directory and re-check. If it still fails, re-download.
A file called UNSIGNED is present
A file called UNSIGNED is present
That marker is stamped only on an internal development build, which must never be delivered.
Report it to us — it means something went wrong on our side, not yours.
cosign is not installed
cosign is not installed
The content check still runs, but the signature check — the one that matters — does not. A
checksum file proves the archive is internally consistent; only the signature proves it came
from us. Install cosign before installing the platform.
Signing keys
A superseded key is retired but never destroyed, so that a bundle you archived years ago can
still be verified against the key it was actually signed with.
Ask your ROOTKey contact for the current key fingerprint, and check it against the value in
your contract. If you need to verify an older bundle, ask for the key it was signed with by
release version. The two-channel rule applies either way: the fingerprint and the signature must
never reach you by the same route.
How things reach you
Everything that crosses the boundary has one named channel. Nothing uses email.The enrolment token is single-use and expires, 24 hours by default and 7 days at most,
enforced when it is issued and again when it is consumed. That is why a one-time link is
enough: the link cannot outlive the secret it carries.
Registry credentials
Yours are issued per client: scoped to exactly the repositories your Data Plane pulls, pull-only — no push, no delete, no catalogue listing — and with an expiry date. Rotation is a single operation on our side and does not interrupt you, because the previous password keeps working until you confirm the new one. Pulls are recorded in the registry’s audit log against your token’s identity. That record is what lets either of us answer “which release is deployed, and when was it fetched” without asking the other.Reporting a security issue
If you believe you have found a vulnerability in the ROOTKey platform, in a release bundle, or in this verification process, contact us through the channel named in your delivery record and mark it severity 1. We will acknowledge within one business day. Please do not open a public issue for a suspected vulnerability.→ Next: Requirements · Installation

