The system is implemented in Java EE and designed to be platform independent and fully clusterable, to permit a greater degree of scalability than is typical of similar software packages. Multiple instances of EJBCA are run simultaneously, sharing a database containing the current certificate authorities. This permits each instance of the software to access any CA. The software also supports the use of a hardware security module, which provides additional security. Larger-scale installations would use multiple instances of EJBCA running on a cluster, a fully distributed database on a separate cluster and a third cluster with HSMs keeping the different CA keys. EJBCA supports many common PKI architectures such as all in a single server, distributed RAs and external validation authority. An example architecture is illustrated below.
Key features
Multiple CA instances
EJBCA supports running unlimited number of CAs and levels of CAs in a single installation. Build a complete infrastructure, or several, within one instance of EJBCA.
Online Certificate Status Protocol
For certificate validation you have the choice of using X.509 CRLs and OCSP.
Registration authority
The EJBCA software includes a separate registration authorityfront end that can run on the same instance as the CA or distributed as external RAs. Communication between the CA and the RA is only using outgoing network connections to insulate the CA from less trusted networks, where the RA is typically placed.
EJBCA support both X.509v3 certificates and Card Verifiable certificates. Certificates are compliant with all standards such as , CA/Browser Forum, eIDAS, ICAO 9303, EAC 2.10 and ISO 18013 Amendment 2 eDL.
PKCS#11 HSMs
Using the standard PKCS 11 API you can use most PKCS#11 compliant HSMs to protect the CAs’ and OCSP responders’ private keys.
Many integration protocols and APIs
EJBCA was designed with integration in mind. Most standard protocols are supported, CMP, SCEP, EST, and ACME as well as web services. Using integration APIs it is possible to integrate EJBCA as a certificate factory, not exposing its native user interfaces.
High performance and capacity
You can build a PKI with capacity of issuing billions of certificates at a rate of several hundreds per second.