Download certdoctor
Take the archive for your system from the releases page and unpack it. There is nothing to install.
The command line
| Your system | The archive | What you run |
|---|---|---|
| Windows on x64 | certdoctor_0.1.0_windows_amd64.zip |
certdoctor.exe, signed |
| Windows on Arm | certdoctor_0.1.0_windows_arm64.zip |
certdoctor.exe, signed |
| Linux on x64 | certdoctor_0.1.0_linux_amd64.tar.gz |
./certdoctor, one static file |
| Linux on Arm | certdoctor_0.1.0_linux_arm64.tar.gz |
./certdoctor, one static file |
| macOS on Apple silicon | certdoctor_0.1.0_macos_arm64.tar.gz |
./certdoctor, a link into certdoctor.app, signed and notarised |
On Linux the command line needs no C library, so the same file runs in Alpine, in Ubuntu and in an image with nothing else in it. certdoctor --license prints the licence and the notices of the code by others that travels with it.
The window
certdoctor-gui has archives of its own, for three systems. Each carries the command line as well, because the window runs it:
| Your system | The archive | What you run |
|---|---|---|
| Windows on x64 | certdoctor-gui_0.1.0_windows_amd64.zip |
certdoctor-gui.exe, signed |
| Linux on x64 | certdoctor-gui_0.1.0_linux_amd64.tar.gz |
./certdoctor-gui |
| macOS on Apple silicon | certdoctor-gui_0.1.0_macos_arm64.tar.gz |
certdoctor-gui.app, signed and notarised |
Keep the files of the window’s archive together. The window says why.
Every archive also carries LICENSE, THIRD-PARTY-NOTICES.md and the README, and the window’s archives THIRD-PARTY-NOTICES-GUI.md too.
Check what you downloaded
Each release lists the SHA-256 of every file in verify-SHA256SUMS.txt, and GitHub signs a statement of what went into each one. Check what you downloaded shows the commands.
From source
With Go 1.27.4 or newer:
git clone https://github.com/donislawdev/certdoctor
cd certdoctor
CGO_ENABLED=0 go build ./cmd/certdoctor
In PowerShell, set the variable on its own line first: $env:CGO_ENABLED = "0", then go build ./cmd/certdoctor. CGO_ENABLED=0 gives the same static binary the releases carry, the one that runs in an Alpine image as it is.
Next
Getting started takes you from the download to the first report.