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.
CZERTAINLY Interfaces is a set of interfaces related to the platform APIs and communication between the platform and available Connectors. It contains description of the interfaces that can be treated as a reference for the developers and integrators.
These interface have to be generally applied when extending the platform, in case you would like to develop custom Connectors providing some specific functionality or implementing some proprietary protocols.
Each Connector must implement a specific Function Group that defines the functionality provided by the Connector. For more information on Function Groups and Kinds, refer to CZERTAINLY documentation.
Function Groups can be combined, for example, a Connector can implement both Credential Provider and Authority Provider Function Group, however Kinds cannot be mixed.
Each Connector has to implement the following interfaces:
CZERTAINLY supports the following Connector Function Groups:
| Function Group | Description | Additional interfaces needed to implement |
|---|---|---|
Credential Provider |
Connector that provides a specific type of the Credentials to the platform. Credential can be further used by the objects and other Connector of the platform |
|
Discovery Provider |
Provides an interface to search for a certificates within a specific technology and sources | |
Legacy Authority Provider |
Provides a connection with the certification authority and certificate management functions | |
v2 Authority Provider |
Provides a connection with the certification authority and certificate management functions | |
Entity Provider |
Provides the functionality to push the certificate to entities, discover certificates from entities | |
Compliance Provider |
Provides functionality to check the compliance of certificates based on rules | |
Cryptography Provider |
Provides cryptographic key management and operations |
Core interfaces are the interfaces that are used by the platform to communicate with the Connectors and the clients.
You can find the detailed description of the interfaces in the following sections:
Protocol interfaces can be used to create a custom implementation and behaviour for standard certificate management protocols.
The following interfaces are available: