A headless, agentic-first X.509 certificate toolkit service. No UI, no SDK — the API is the product.
certkit provides X.509 certificate operations over plain HTTP, designed for AI agents to drive:
- Inspect certificates and CSRs — extract all fields, fingerprints, SANs, key usage
- Generate self-signed certificates and CSAs — RSA, ECDSA, Ed25519
- Verify certificate chains against CA certificates
- Check expiry — days until expiry, expired status
- Fingerprints — SHA-256 fingerprints
- Convert between PEM and DER formats
# Build
make build
# Run
./certkit
# Or with custom port
./certkit -port 9000Returns the one-page operating manual.
Returns service health.
Inspect a certificate. Send PEM as body.
Generate a self-signed certificate. Query params: cn, org, sans, key_type, key_bits, days, is_ca.
Generate a CSR. Query params: cn, org, sans, key_type, key_bits.
Inspect a CSR. Send PEM as body.
Verify a certificate against a CA. Body: cert PEM + ---CA--- separator + CA PEM.
Check certificate expiry. Send PEM as body.
Get SHA-256 fingerprint. Send PEM as body.
Convert between PEM and DER. Query param: direction=pem-to-der|der-to-pem.
- Default: Plain text, one
key=valueper line (grepable, token-cheap) - JSON: Add
Accept: application/jsonheader or?format=json
Every 4xx response includes a hint:
error: missing required parameter: cn
hint: provide a common name, e.g. /v1/generate?cn=example.com
- Language: Go
- Dependencies: Zero external dependencies (stdlib only)
- Build:
CGO_ENABLED=0— single static binary
MIT