Note: Signature verification is available starting with Harbor v2.15.0. Earlier releases are not signed.
Harbor release artifacts (installers) are cryptographically signed using Cosign with keyless signing. This allows you to verify that downloads are authentic and unmodified.
- Confirms the file came from Harbor's official build
- Detects any modifications or tampering
- Protects against malicious downloads
Install Cosign (v2.0+):
# macOS
brew install sigstore/tap/cosign
# Linux
curl -LO https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64
chmod +x cosign-linux-amd64
sudo mv cosign-linux-amd64 /usr/local/bin/cosign
# Windows (PowerShell)
Invoke-WebRequest -Uri "https://github.com/sigstore/cosign/releases/latest/download/cosign-windows-amd64.exe" -OutFile "cosign.exe"
# Verify installation
cosign version# Download installer and Signature file (example v2.15.0)
wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-offline-installer-v2.15.0.tgz
wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-offline-installer-v2.15.0.tgz.sigstore.jsoncosign verify-blob \
--bundle harbor-offline-installer-v2.15.0.tgz.sigstore.json \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/goharbor/harbor/.github/workflows/publish_release.yml@refs/tags/v.*$' \
harbor-offline-installer-v2.15.0.tgzExpected output:
Verified OK
wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-online-installer-v2.15.0.tgz
wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-online-installer-v2.15.0.tgz.sigstore.json
cosign verify-blob \
--bundle harbor-online-installer-v2.15.0.tgz.sigstore.json \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/goharbor/harbor/.github/workflows/publish_release.yml@refs/tags/v.*$' \
harbor-online-installer-v2.15.0.tgzCause: Incorrect repository name in verification command
Solution: Ensure you're using goharbor/harbor in the --certificate-identity-regexp parameter
Cause: Signature file not in the same directory as the installer
Solution: Ensure both .tgz and .tgz.sigstore.json files are in the current working directory
Cause: Downloaded files are corrupted or incomplete
Solution: Re-download both the installer and signature files from the official Harbor releases page
Cause: Attempting to verify releases prior to v2.15.0
Solution: Signature verification is only available for Harbor v2.15.0 and later
- File authenticity - Signed by official Harbor CI/CD workflow
- File integrity - No modifications since signing
- Build provenance - Logged in public Sigstore transparency log
Applies to: Harbor v2.15.0 and later