Verify a download
Check a file from zidane.si/dl against its SHA-256 and the signed release manifest.
Every release at https://zidane.si/dl lists its files in latest.json: the name, platform, URL, SHA-256 and size of each one. The release signs that list with minisign. The install script, Homebrew and the apps' updates check both for you. This page checks a file by hand.
The public key#
untrusted comment: minisign public key 1DB3EB4F08611FDE
RWTeH2EIT+uzHQnG7U5bcHFzskL0m++wKuc3U5zEom2+tRn/8UukIDGkThe same key is in the install script and in the apps. A manifest signed by another key is not from the zidane release.
Check a file#
Get the manifest and its signature
curl -fsSLO https://zidane.si/dl/latest.json curl -fsSLO https://zidane.si/dl/latest.json.minisigFor the release before the latest, use
https://zidane.si/dl/v<version>/manifest.jsonand its.minisig. The server keeps those two releases only.Verify the signature
Install minisign (
brew install minisign,apt install minisign), then:minisign -Vm latest.json -P RWTeH2EIT+uzHQnG7U5bcHFzskL0m++wKuc3U5zEom2+tRn/8UukIDGkIt prints
Signature and comment signature verified. Any other output means the file changed after the release signed it: do not use it.Compare the checksum
Read the file's
sha256in the manifest, then hash the file you downloaded:jq -r '.artifacts[] | "\(.sha256) \(.name)"' latest.json # every file and its SHA-256 shasum -a 256 <file> # macOS sha256sum <file> # LinuxThe two values must be equal. The download page shows the same SHA-256 next to each file.
macOS signatures#
The desktop app, the zidane binary and the zidane-server binary for macOS are signed with an Apple Developer ID and notarized. To see the signature:
spctl --assess --verbose /Applications/Zidane.app
codesign --verify --verbose "$(command -v zidane)"