Certz 0.4: A Certificate Management Utility
Certificate management on developer machines and build servers tends to involve a scattered mix of openssl, certutil, platform-specific GUI tools, and Stack Overflow snippets you adapt differently every time. I built Certz to consolidate the operations I actually use into a single cross-platform CLI. Version 0.4 just shipped, and this post covers what it does and what’s new.
What it does
Certz is a single-binary CLI for working with X.509 certificates. It runs on Windows (x64), Linux (x64), and macOS (arm64/x64) with no runtime dependencies — download from GitHub releases and run.
The core commands:
- create — generate development certificates (
create dev) or Certificate Authority certificates (create ca) - inspect — examine certificates from files, URLs, or certificate stores
- lint — validate certificates against CA/Browser Forum requirements
- convert — transform between PEM, DER, and PFX formats
- monitor — track certificate expiration across multiple sources
- trust — add or remove certificates from the system trust store
- store — list certificates in a certificate store
- renew — extend certificate validity
What’s new in 0.4
Comparing and identifying certificates
Two new commands for analyzing certificates you already have.
certz diff compares two certificates side-by-side, highlighting differences in subject, validity, SANs, key usage, and other fields. Useful for verifying renewals or confirming a converted certificate matches the original.
certz diff cert-old.pem cert-new.pem
certz fingerprint generates certificate fingerprints with configurable formatting. The --separator flag controls the delimiter between hex pairs, and --no-separator strips delimiters entirely for scripting.
certz fingerprint cert.pem
certz fingerprint cert.pem --separator ":"
certz fingerprint cert.pem --no-separator
Linux trust store support
Previous versions managed trust stores on Windows only. Version 0.4 extends trust store operations to Debian/Ubuntu (via update-ca-certificates) and Red Hat-based distributions (via update-ca-trust). Adding a CA certificate to the system trust store on Linux now works the same way as Windows:
certz trust add my-ca.pem
Root permissions are required for system trust store modifications on Linux, same as Windows requires admin.
Shell completion
PowerShell tab completion is now available for both PS5 and PS7. Install it once:
certz completion --install
This registers completions for both certz and certz.exe, includes real-time typo correction, and is idempotent — running it again replaces the existing profile block rather than duplicating it.
Creation enhancements
The --eku flag lets you specify Extended Key Usage OIDs explicitly when creating certificates. If you need a certificate that includes both server and client authentication:
certz create dev example.local --eku serverAuth --eku clientAuth
The interactive creation wizard (--guided) now prints the equivalent CLI command after completing the wizard. If you walk through the prompts to create a certificate, you get the one-liner you can paste into a script or CI pipeline to reproduce it.
Operational flags
Two new global flags available across all commands:
--dry-run— preview what a command would do without writing files or modifying trust stores. Useful when you’re not sure what atrust addwill touch.--verbose— diagnostic output for troubleshooting. When something doesn’t behave as expected, this is the first thing to try.
CI/CD improvements
Every release now ships a checksums.txt file containing SHA-256 hashes for all downloadable artifacts. Standard practice for security-sensitive tooling, but it wasn’t there before.
Test results now output in CTRF (Common Test Results Format), which makes it straightforward to integrate Certz’s test results into CI/CD dashboards.
Polish
- Help screens on leaf commands now include usage examples, not just flag descriptions
- The root help screen has an ASCII art banner because every CLI tool needs one eventually
- Resolved a batch of usability issues (#31–#38) covering option naming and validation
- Removed deprecated v1 commands and dead code
Getting started
Certz is available on GitHub. Download the latest release for your platform, and give it a try. Feedback and issue reports are welcome.