Install¶
Each release has archives for Linux, macOS and Windows on amd64 and arm64. A binary downloaded with a browser on macOS needs xattr -d com.apple.quarantine certrally before its first run, because it is not notarized.
With Homebrew on macOS or Linux, which also installs shell completions:
brew install misiektoja/tap/certrally
As a container image for linux/amd64 and linux/arm64:
docker run --rm ghcr.io/misiektoja/certrally --help
The image runs as an unprivileged user. To save files to the current directory, run it as your user and mount the directory:
docker run --rm --user "$(id -u):$(id -g)" -v "$PWD:/work" -w /work -e CERTRALLY_SECRET \
ghcr.io/misiektoja/certrally enroll --server https://ca.example.com/.well-known/cmp \
--ref device-42 --cert-out device.pem --key-out device.key
From source with Go 1.27.3 or newer:
go install github.com/misiektoja/certrally/cmd/certrally@latest
Releases are signed with cosign and carry GitHub build provenance and SBOMs. Verify a download shows how to check one.
Check the installation¶
certrally --version
certrally --help
Getting started continues with a first enrollment against a test CA.