Certificate lifecycle management encompasses the full lifecycle of digital certificates: generation, signing, distribution, renewal, and revocation. As organizations adopt zero-trust architectures and internal TLS becomes mandatory, managing certificates at scale requires dedicated PKI infrastructure. This guide compares three open-source PKI solutions: step-ca, EJBCA, and Dogtag.
Why Certificate Lifecycle Management Matters
Digital certificates expire. Without automated lifecycle management, expired certificates cause service outages, broken APIs, and security vulnerabilities. The 2024 CrowdStrike outage demonstrated how certificate-related failures can cascade across entire infrastructures.
A proper certificate lifecycle management system provides:
- Automated renewal before expiration
- Centralized revocation (CRL/OCSP) for compromised certificates
- Policy enforcement for certificate attributes (key size, validity period)
- Audit logging for compliance requirements
- API-driven provisioning for DevOps automation
Feature Comparison
| Feature | step-ca | EJBCA | Dogtag |
|---|---|---|---|
| Primary Use Case | DevOps, zero-trust | Enterprise PKI | Government/Enterprise |
| Protocol Support | ACME, SCEP, SSH | ACME, SCEP, EST, CMP | ACME, SCEP, EST |
| Database Backend | SQLite, PostgreSQL | MySQL, PostgreSQL, Oracle | PostgreSQL |
| HSM Support | Limited | Yes (multiple vendors) | Yes |
| RA (Registration Authority) | Basic | Full RA framework | Full RA |
| SCEP Support | Yes | Yes | Yes |
| ACME Support | Yes (native) | Yes (via extension) | Yes (via extension) |
| SSH Certificate CA | Yes | No | No |
| Web UI | Minimal | Full-featured | Full-featured |
| GitHub Stars | ~4,800 | ~500 (Bitwise) | Community project |
| Complexity | Low | High | High |
| License | BSL/Apache 2.0 | LGPL | MPL |
step-ca: Modern PKI for DevOps
step-ca by Smallstep is a lightweight, modern certificate authority designed for DevOps workflows. It provides ACME support, SSH certificate signing, and simple REST APIs that integrate naturally with CI/CD pipelines.
Key features:
- ACME protocol for automated certificate provisioning
- SSH certificate authority for host and user authentication
- mTLS bootstrapping for zero-trust service mesh
- Simple CLI and API for programmatic management
- Automatic renewal with step-agent
- Built-in CRL and OCSP responder
Installation
| |
Docker Compose Deployment
| |
Initialize and Configure
| |
EJBCA: Enterprise-Grade PKI
EJBCA is one of the most widely deployed open-source PKI solutions, used by governments, financial institutions, and enterprises worldwide. It supports the full range of PKI operations including RA workflows, HSM integration, and compliance reporting.
Key features:
- Full RA (Registration Authority) framework
- Support for multiple HSM vendors (Thales, Utimaco, AWS CloudHSM)
- EST, SCEP, ACME, and CMP protocol support
- CRL and OCSP responders
- Certificate profiles with granular attribute control
- Audit logging and compliance reporting
- Multi-CA hierarchy support
Docker Compose Deployment
| |
Database Configuration
| |
Dogtag: Government-Grade PKI
Dogtag Certificate System is the upstream project for Red Hat Certificate System. It provides a comprehensive PKI solution designed for government and enterprise environments with strict security requirements.
Key features:
- FIPS 140-2 compliance
- Full RA and CA hierarchy support
- Smart card and hardware token enrollment
- EST and SCEP protocol support
- Integration with FreeIPA/Identity Management
- SELinux policy enforcement
- Comprehensive audit logging
Docker Compose Deployment
| |
CA Configuration
| |
Choosing the Right PKI Solution
| Use Case | Recommended Solution |
|---|---|
| DevOps teams needing automated mTLS | step-ca |
| Zero-trust architecture with SSH certs | step-ca |
| Enterprise PKI with HSM integration | EJBCA |
| Government compliance (FIPS, Common Criteria) | Dogtag |
| ACME-based certificate automation | step-ca |
| Multi-CA hierarchy with RA delegation | EJBCA or Dogtag |
| Integration with FreeIPA/IdM | Dogtag |
Why Self-Host Certificate Management?
Cloud-based certificate management services (DigiCert, Sectigo, Let’s Enterprise) require trusting a third party with your private key infrastructure. For zero-trust architectures and internal mTLS, you need a private CA that issues certificates only for your internal services.
Self-hosted PKI also eliminates per-certificate licensing costs. Enterprise CA solutions often charge thousands of dollars annually per CA instance. Open-source alternatives like step-ca, EJBCA Community Edition, and Dogtag provide full functionality without licensing fees.
For TLS termination proxies, see our SSL/TLS proxy guide. For certificate expiration monitoring, check our x509 certificate monitoring guide.
FAQ
What is the difference between a CA and a certificate management system?
A Certificate Authority (CA) signs certificates. A certificate management system (like EJBCA or Dogtag) provides the full lifecycle: CA operations, RA workflows, certificate enrollment protocols (ACME/SCEP/EST), revocation (CRL/OCSP), auditing, and web UI for administrators. step-ca combines CA and management into a single lightweight binary.
Can step-ca replace Let’s Encrypt for internal certificates?
Yes. step-ca provides an ACME endpoint compatible with certbot and other ACME clients. Unlike Let’s Encrypt, step-ca issues certificates for internal domains (.internal, .local, private IPs) that Let’s Encrypt cannot validate.
How do I automate certificate renewal with step-ca?
Use the step-agent daemon for automatic renewal, or integrate ACME clients (certbot, lego, traefik) with step-ca’s ACME endpoint. Certificates can be renewed 30 days before expiration automatically.
Does EJBCA support ACME natively?
EJBCA Community Edition supports ACME through an extension module. EJBCA Enterprise has native ACME support. Configure the ACME module in the EJBCA admin UI and point your ACME client to the ACME endpoint URL.
What is SCEP and when should I use it?
SCEP (Simple Certificate Enrollment Protocol) is used primarily for network device certificate enrollment (routers, switches, firewalls). All three solutions support SCEP. Use it when deploying certificates to devices that cannot run ACME clients.
How do I handle certificate revocation?
All three solutions support CRL (Certificate Revocation List) and OCSP (Online Certificate Status Protocol). step-ca provides a built-in OCSP responder. EJBCA and Dogtag offer configurable CRL distribution points and OCSP responders. For immediate revocation, publish a delta CRL or update the OCSP response.