| CMP (Certificate Management Protocol) | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| family: | unknown | |||||||||||||||||||||||||||||
| field of application : | certificate management | |||||||||||||||||||||||||||||
| newest version: | cmp2021(3) | |||||||||||||||||||||||||||||
| OID of the newest version: | 1.3.6.1.5.5.7.0.16 | |||||||||||||||||||||||||||||
| TCP/UDP port: | 80 (http), 443 (https), 829 (pkix-3-ca-ra) | |||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| proposed standard: | Contents | |||||||||||||||||||||||||||||
| obsolete standards: | RFC 2510 (CMPv1, 1999) | |||||||||||||||||||||||||||||
The Certificate Management Protocol (CMP) is an Internet protocol standardized by the IETF used for obtaining X.509 public-key certificates in a PKI.
CMP is a very feature-rich and flexible protocol. So far it is the only protocol with support of all types of cryptography. This includes KEM keys, which have become more important for post-quantum cryptography (PQC).
CMP messages are self-contained, which makes the protocol independent of the transport mechanism and provides end-to-end security also over multiple hops. This distinguishes CMP and CMC from other certificate enrollment protocols including EST. CMP messages are defined in ASN.1 syntax and encoded using the DER method.
CMP is described in RFC 9810. Enrollment request messages employ the Certificate Request Message Format (CRMF), described in RFC 4211 and updated in RFC 9045. The only other protocol so far using CRMF is Certificate Management over CMS (CMC), described in RFC 5273.
The initial version of CMP is described in RFC 2510, the respective CRMF version in RFC 2511. Both were published in March 1999.
CMP version 2 was described in RFC 4210, published in September 2005. HTTP transfer for CMP messages was first described by RFC 6712, published in September 2012.
In November 2023, CMP Updates, CMP Algorithms, and CoAP transfer for CMP, have been published as well as the Lightweight CMP Profile focusing on industrial use.
In July 2025, RFC 9810 was released, which combines the RFCs 4210 and 9480 into a self-contained document and adds further features, in particular support for KEM keys. At the same time, an update of the specification for HTTP(S) transfer of CMP messages was published in RFC 9811.
In a Public-Key Infrastructure (PKI), so-called end entities (EEs) act as CMP client, requesting one or more certificates for themselves from a certificate authority (CA), which issues the legal certificates and acts as a CMP server. None or any number of registration authorities (RA), can be used to mediate between the EEs and CAs, having both a downstream CMP server interface and an upstream CMP client interface. Using a "cross-certification request" a CA can get a certificate signed by another CA.
CMP messages are usually transferred over HTTP(S), but any reliable means of transportation can be used.
The Content-Type used is application/pkixcmp. Initially, application/pkixcmp-poll, application/x-pkixcmp or application/x-pkixcmp-poll were used.
This section gives self-sourcing popular culture examples .(October 2021) |