CZERTAINLY/CZERTAINLY-EJBCA-NG-Connector
CZERTAINLY - EJBCA NG connector for certificate management and discovery
CZERTAINLY EJBCA NG Connector
This repository is part of the open-source project CZERTAINLY. You can find more information about the project at CZERTAINLY repository, including the contribution guide.
EJBCA NG Connector is the implementation of the following Function Groups and Kinds:
| Function Group | Kind |
|---|---|
Authority Provider |
EJBCA |
Discovery Provider |
EJBCA, EJBCA_SCHEDULE |
EJBCA NG Connector is the implementation of certificate management for EJBCA that is compatible with the v2 client operations interface. The Connector is developed to work with SOAP Web Services calls.
It is expected that the REST API calls will be implemented as option in the future release, because of some limitations of the EJBCA Web Service, for example limiting the number of end entities and certificates, that can be fetched.
EJBCA NG Connector allows you to perform the following operations:
Authority Provider
- Issue certificate
- Renew certificate
- Revoke certificate
Discovery Provider
- Discover certificates
Database requirements
EJBCA NG Connector requires the PostgreSQL database to store the data.
Short Process Description
EJBCA NG works under the principle of RA Profiles. The Connector provides the pathway for communication with the instances of EJBCA Certification Authorities. Multiple Authorities can be added using the same Connector. Once the Authorities are added, RA Profiles will be created on top of the Authorities.
With the help of RA Profiles and the CSR information provided by the Client using the REST API, the Connector communicates with the Authority to get the Certificate.
To know more about the Core, refer to CZERTAINLY Core
Certificate Discovery
The Certificate discovery in the EJBCA NG Connector works with the V2 Certificate Search API from EJBCA. Older versions of EJBCA that do not support V2 Search API are not supported.
There are two types of Discovery:
EJBCAEJBCA_SCHEDULE
RA Profile attributes
The attributes for creating a new RA Profile includes:
- End Entity Profile Name
- Certificate Profile Name
- Certificate Authority Name
- Key Recovery enabled/disabled
- Send Notifications enabled/disabled
- Username generation method
- Username generation prefix
- Username generation postfix
Issue Certificate attributes
For issuing of new Certificate, you can use the following optional attributes for the End Entity:
- Email address
- Subject Alternative Names
- Extension data
The EJBCA username and attributes for to issue Certificate are written as Metadata in the Certificate object and can be used in future operations.
Discover Certificate attributes
For discovering Certificates from the EJBCA, the following attributes can be used:
- Authority Instance Name
- API Base URL
- Certificate Authority
- Certificate Profile
- End Entity Profile
- Date after which the certificates were issued
Interfaces
EJBCA NG Connector implements v2 Authority Provider and Discovery Provider interfaces. To learn more about the interfaces and end points, refer to the CZERTAINLY Interfaces.
For more information, please refer to the CZERTAINLY documentation.
Docker container
EJBCA NG Connector is provided as a Docker container. Use the docker pull czertainly/czertainly-ejbca-ng-connector:tagname to pull the required image from the repository. It can be configured using the following environment variables:
Proxy settings
You may need to configure proxy to allow communication with external systems.
To enable proxy, use the following environment variables:
Example values:
HTTP_PROXY=http://user:password@proxy.example.com:3128HTTPS_PROXY=http://user:password@proxy.example.com:3128NO_PROXY=localhost,127.0.0.1,0.0.0.0,10.0.0.0/8,cattle-system.svc,.svc,.cluster.local,my-domain.local