mpeylo / cmpossl

An OpenSSL-based implementation of the Certificate Management Protocol (CMP), defined in IETF RFCs 4210, 4211, and 6712. It is being extended according to the emerging RFCs 'CMP Updates' (CMPv3), 'CMP Algorithms', and 'Lightweight CMP Profile'.
https://github.com/mpeylo/cmpossl/wiki
Other
36 stars 13 forks source link
cmp pki security

CMPforOpenSSL (cmpossl)

This is an intermediate CMP, CRMF, and HTTP version abstraction library based on OpenSSL. It is needed only if required special CMP features or fixes are not yet (fully) available in the OpenSSL version being used.

Note that this library offers just a low-level API and does not provide a CLI. A CMP CLI is provided both by OpenSSL and by the Generic CMP Client.\ The genCMPClient offers a more high-level API. It can be built using OpenSSL 3.0 or later (and possibly this library, which was formerly needed in order to provide more recent developments).

Purpose

The purpose of this software is to provide a uniform interim CMP and HTTP client API and implementation library that links with all current OpenSSL versions.

Since version 3.0, OpenSSL includes an implementation of CMP version 2 and CRMF, as well as a lean HTTP client. As of November 2024, upstream contribution of the features of CMP version 3 according to the Lightweight CMP Profile (LCMPP) to OpenSSL is nearly finished. OpenSSL version 3.4 contains all of them except for central key generation. In version 3.5, to be released in April 2025, this integration will be complete. Therefore, in most cases this intermediate library meanwhile is not needed anymore.

Support model

As far as still required, the maintainers offer paid professional support upon request.

Further information

Unmaintained further information may be found in the former README file.

Disclaimer

This software including associated documentation is provided ‘as is’. Effort has been spent on quality assurance, but there are no guarantees.

License

This work is licensed under the terms of the Apache Software License 2.0. See the LICENSE.txt file.

SPDX-License-Identifier: Apache-2.0