In Fabrikhallen, Mobilfunk-Basisstationen und Stromnetzen hängen Geräte, die jahrzehntelang laufen und sich trotzdem sicher ausweisen müssen. Für solche Umgebungen gibt es das Certificate Management Protocol, kurz CMP. Es ist das umfassendste der Protokolle zur Zertifikatsanforderung: Es kann beantragen, erneuern, sperren, über Zwischenstellen weiterleiten und sogar offline arbeiten. Seit 2005 als RFC 4210 standardisiert, wurde es 2023 mit RFC 9480 und dem schlanken Profil Lightweight CMP (RFC 9483) modernisiert und im Juli 2025 als RFC 9810 neu gefasst. Dieser Artikel erklärt den Aufbau, die wichtigsten Nachrichten und wo CMP eingesetzt wird.
CMP im Vergleich zu SCEP und EST
SCEP und EST kümmern sich vor allem um zwei Dinge: Zertifikat beantragen und erneuern; siehe SCEP und EST. CMP deckt den ganzen Lebenszyklus ab:
- Erstantrag mit gemeinsamem Geheimnis oder mit einem Herstellerzertifikat,
- Schlüsselwechsel (Key Update) mit dem alten Zertifikat,
- Sperrung durch das Gerät selbst, etwa bei Verdacht auf Schlüsseldiebstahl,
- Abfragen wie aktuelle CA-Zertifikate, Sperrlisten oder Vorgaben für den Antrag,
- Weiterleitung über eine oder mehrere Registrierungsstellen (RA), die Anträge prüfen und ergänzen.
Ein zweiter Unterschied: CMP schützt jede Nachricht selbst, mit einer Signatur oder einem MAC über ein gemeinsames Geheimnis. Dadurch ist es nicht an eine Verbindung gebunden und funktioniert über HTTP, CoAP oder sogar per Datei, wenn ein Gerät keine direkte Verbindung zur CA hat.
Aufbau einer CMP-Nachricht
Jede Nachricht (PKIMessage) besteht aus vier Teilen:
- Header: Absender, Empfänger, Transaktionsnummer, Zufallswerte gegen Wiederholung und Zeitangabe.
- Body: der eigentliche Inhalt, zum Beispiel ein Antrag oder eine Antwort.
- Protection: Signatur oder MAC über Header und Body.
- extraCerts: Zertifikate, die der Empfänger zur Prüfung braucht, etwa die Kette des Absenders.
Anträge stehen im Format CRMF (RFC 4211), das mehr kann als ein normaler CSR; aus Kompatibilitätsgründen ist auch PKCS#10 erlaubt. Zu CSRs siehe Schlüsselpaar und CSR erstellen.
Die wichtigsten Nachrichtentypen
CMP arbeitet mit Paaren aus Anfrage und Antwort:
- ir / ip: Initialization Request und Response, der erste Antrag eines Geräts.
- cr / cp: weiterer Antrag eines Geräts, das schon ein Zertifikat hat.
- kur / kup: Key Update, ein neues Schlüsselpaar für ein bestehendes Zertifikat.
- p10cr: Antrag mit klassischem PKCS#10-CSR.
- rr / rp: Revocation Request, Sperrantrag.
- certConf / pkiConf: Das Gerät bestätigt, dass es das Zertifikat erhalten hat. Erst dann gilt die Transaktion als abgeschlossen.
- genm / genp: allgemeine Abfragen, etwa nach neuen CA-Zertifikaten.
- pollReq / pollRep: Nachfragen, wenn die CA noch nicht entschieden hat.
Ein Erstantrag besteht damit aus vier Nachrichten: ir, ip, certConf, pkiConf. Mit der Option implicitConfirm genügen zwei.
Lightweight CMP: das schlanke Profil
Die volle Spezifikation ist so umfangreich, dass sich verschiedene Umsetzungen oft nicht verstanden. Das 2023 erschienene Lightweight CMP Profile (RFC 9483), geschrieben von Fachleuten bei Siemens, legt deshalb fest, welche Teile Pflicht sind und welche wegfallen. Es zielt auf automatisierte Abläufe und Geräte mit wenig Rechenleistung, etwa in der Industrieautomatisierung. Für den Transport beschreiben RFC 9811 die Übertragung per HTTP (eine Nachricht im Rumpf eines POST) und RFC 9482 die per CoAP für sehr kleine Geräte.
Neu in der aktuellen Version: CMP kann Zertifikate für KEM-Schlüssel verwalten, also für Schlüssel, die nur zum Schlüsselaustausch dienen und nicht signieren können. Das betrifft vor allem das Post-Quanten-Verfahren ML-KEM; siehe Post-Quanten-Zertifikate.
CMP ausprobieren mit OpenSSL
Seit Version 3.0 bringt OpenSSL einen CMP-Client mit. Ein Erstantrag mit Einmal-Passwort sieht so aus (Server, Namen und Passwort sind Beispiele):
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out geraet.key
openssl cmp -cmd ir -server pki.beispiel.de:8080/pkix/ -ref geraet17 -secret pass:Einmalpasswort -newkey geraet.key -subject "/CN=geraet17" -trusted ca.pem -certout geraet.pem
Für den späteren Schlüsselwechsel meldet sich das Gerät mit dem alten Zertifikat an:
openssl cmp -cmd kur -server pki.beispiel.de:8080/pkix/ -cert geraet.pem -key geraet.key -newkey geraet-neu.key -trusted ca.pem -certout geraet-neu.pem
Das MAC-Verfahren mit gemeinsamem Geheimnis dient nur dem ersten Kontakt. Danach signiert das Gerät seine Nachrichten mit dem eigenen Schlüssel, ähnlich wie bei Mutual TLS; siehe Mutual TLS.
Wo CMP eingesetzt wird
- Mobilfunk: Die 3GPP-Spezifikation TS 33.310 sieht CMPv2 vor, damit Basisstationen ihre Betreiberzertifikate automatisch beziehen.
- Industrie und Energie: Steuerungen, Feldgeräte und Ladesäulen nutzen CMP oder Lightweight CMP, oft mit einem Herstellerzertifikat als erstem Ausweis.
- PKI-Produkte: EJBCA, Nexus, Insta Certifier und andere bieten CMP-Endpunkte; Registrierungsstellen leiten Anträge über mehrere Netzebenen weiter.
Für Webserver ist CMP zu schwergewichtig; dort bleibt ACME der Standard. Für Notebooks und Smartphones reichen meist SCEP oder EST.
Häufige Fragen
Ist CMP dasselbe wie CMC? Nein. CMC (Certificate Management over CMS, RFC 5272) ist ein anderes Protokoll mit ähnlichem Ziel. EST kann CMC-Nachrichten transportieren, wird aber meist ohne genutzt.
Brauche ich für CMP HTTPS? Nicht zwingend, weil jede Nachricht selbst geschützt ist. HTTPS kann zusätzlich Vertraulichkeit bieten, etwa damit Gerätenamen nicht mitgelesen werden.
Was bedeutet CMPv3? So heißt die überarbeitete Fassung mit RFC 9480 und RFC 9810. Sie bleibt mit CMPv2 weitgehend kompatibel und ergänzt unter anderem KEM-Schlüssel und neue Abfragen.
Kann ein Gerät mit CMP sein Zertifikat selbst sperren? Ja, mit einem Revocation Request. Die CA nimmt es dann in die Sperrliste auf; siehe Zertifikatssperrung.
Fazit
CMP ist das vollständigste Protokoll für Zertifikate: Erstantrag, Schlüsselwechsel, Sperrung und Abfragen in einem Standard, mit Schutz auf Nachrichtenebene und Weiterleitung über Registrierungsstellen. Lightweight CMP macht es für Industrie und IoT handhabbar, OpenSSL bringt einen Client mit. Mehr in der Übersicht Verschlüsselung und IT-Sicherheit.
Quellen und weiterführende Links
- RFC 9810: Certificate Management Protocol (CMP) (IETF)
- RFC 9483: Lightweight Certificate Management Protocol (CMP) Profile (IETF)
- RFC 9811: HTTP Transfer for the Certificate Management Protocol (IETF)
- openssl-cmp (OpenSSL-Dokumentation)















Neueste Kommentare