OPENSSL-CMP(1SSL) OpenSSL OPENSSL-CMP(1SSL) (NAME) openssl-cmp - (CMP) (SYNOPSIS) openssl cmp [-help] [-config filename] [-section names] [-verbosity level] : [-cmd ir|cr|kur|p10cr|rr|genm] [-infotype name] [-profile name] [-geninfo values] [-template filename] [-keyspec filename] : [-newkey filename|uri] [-newkeypass arg] [-centralkeygen [-newkeyout filename] [-subject name] [-days number] [-reqexts name] [-sans spec] [-san_nodefault] [-policies name] [-policy_oids names] [-policy_oids_critical] [-popo number] [-csr filename] [-out_trusted filenames|uris] [-implicit_confirm] [-disable_confirm] [-certout filename] [-chainout filename] : [-oldcert filename|uri] [-issuer name] [-serial number] [-revreason number] : [-server [http[s]://][userinfo@]host[:port][/path][?query][#fragment]] [-proxy [http[s]://][userinfo@]host[:port][/path][?query][#fragment]] [-no_proxy addresses] [-recipient name] [-path remote_path] [-keep_alive value] [-msg_timeout seconds] [-total_timeout seconds] : [-trusted filenames|uris] [-untrusted filenames|uris] [-srvcert filename|uri] [-expect_sender name] [-ignore_keyusage] [-unprotected_errors] [-no_cache_extracerts] [-srvcertout filename] [-extracertsout filename] [-cacertsout filename] [-oldwithold filename] [-newwithnew filename] [-newwithold filename] [-oldwithnew filename] [-crlcert filename] [-oldcrl filename] [-crlout filename] : [-ref value] [-secret arg] [-cert filename|uri] [-own_trusted filenames|uris] [-key filename|uri] [-keypass arg] [-digest name] [-mac name] [-extracerts filenames|uris] [-unprotected_requests] : [-certform PEM|DER] [-crlform PEM|DER] [-keyform PEM|DER|P12|ENGINE] [-otherpass arg] [-engine id] [-provider name] [-provider-path path] [-provparam [name:]key=value] [-propquery propq] : [-rand files] [-writerand file] TLS: [-tls_used] [-tls_cert filename|uri] [-tls_key filename|uri] [-tls_keypass arg] [-tls_extra filenames|uris] [-tls_trusted filenames|uris] [-tls_host name] : [-batch] [-repeat number] [-reqin filenames] [-reqin_new_tid] [-reqout filenames] [-reqout_only filename] [-rspin filenames] [-rspout filenames] [-use_mock_srv] (): [-port number] [-max_msgs number] [-srv_ref value] [-srv_secret arg] [-srv_cert filename|uri] [-srv_key filename|uri] [-srv_keypass arg] [-srv_trusted filenames|uris] [-srv_untrusted filenames|uris] [-ref_cert filename|uri] [-rsp_cert filename|uri] [-rsp_key filename|uri] [-rsp_keypass filename|uri] [-rsp_crl filename|uri] [-rsp_extracerts filenames|uris] [-rsp_capubs filenames|uris] [-rsp_newwithnew filename|uri] [-rsp_newwithold filename|uri] [-rsp_oldwithnew filename|uri] [-poll_count number] [-check_after number] [-grant_implicitconf] [-pkistatus number] [-failure number] [-failurebits number] [-statusstring arg] [-send_error] [-send_unprotected] [-send_unprot_err] [-accept_unprotected] [-accept_unprot_err] [-accept_raverified] CMP TLS: [-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] (DESCRIPTION) cmp (CMP) RFC 9810 HTTP(S) RFC 9811 . CA CMP . (OPTIONS) -help . -config filename . "" . "OPENSSL_CONF" . -section names CMP . "" . "cmp" . / ( "..." ). . "[default]" ( ) (fallback) . -verbosity level (verbosity) . 0 = EMERG 1 = ALERT 2 = CRIT 3 = ERR 4 = WARN 5 = NOTE 6 = INFO 7 = DEBUG 8 = TRACE. 6 = INFO . (Generic message options) -cmd ir|cr|kur|p10cr|rr|genm CMP . : ir - (Initialization Request) cr - (Certificate Request) p10cr - PKCS#10 ( ) kur - (Key Update Request) rr - (Revocation Request) genm - (General Message) ir (end entity) PKI . cr PKI . p10cr cr PKCS#10 CSR . kur () . rr . genm InfoTypeAndValue . (General Response) infoType ITAV . -infotype name InfoType genm "signKeyPairTypes". "caCerts" "rootCaCert" "certReqTemplate" "crlStatusList" ( CRL) . -profile name (certificate profile) generalInfo PKIHeader . -geninfo values InfoTypeAndValue generalInfo PKIHeader . InfoTypeAndValue OID OID:int:number OID:str:text '1.2.3.4:int:56789, id-kp:str:name'. -template filename certTemplate CRMF DER genp id-it- certReqTemplate . -keyspec filename keySpec genp id- it-keyGenParameters . : keySpec INFO . (Certificate enrollment options) -newkey filename|uri . PKCS#10 CSR -csr . . -cmd p10cr -popo -1 -popo 0 (POPO) -key (fallback) . -newkeypass arg -newkey. . arg openssl-passphrase-options(1) . -centralkeygen . -cmd ir|cr|kur|p10cr . -newkeyout filename PEM. -subject name (DN) X.509 (subject) IR/CR/KUR. NULL-DN ("/") . DN PKCS#10 CSR -csr . KUR DN ( -oldcert ) . IR CR SAN . -cert -oldcert -csr DN CMP . /type0=value0/type1=value1/type2=... . "\" () . . "/" RDN ( NULL-DN) . RDN "+" "/" AttributeValueAssertion (AVA) . : "/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe" -days number . ( ) . -reqexts name OpenSSL . -csr PKCS#10 CSR OID . -sans spec IP DNS URI ( "..." ) (SAN) . "critical" SAN . -reqexts . -san_nodefault -sans -reqexts ( -oldcert ). -san_nodefault . -policies name OpenSSL . -policy_oids . -policy_oids names OID / ( "..." ) . -policies . -policy_oids_critical -policy_oids (critical). -popo number (POPO) IR/CR/KUR : -1..2 -1 = NONE ( ) 0 = RAVERIFIED 1 = SIGNATURE () 2 = KEYENC. POPO -newkey -key . -csr filename PKCS#10 CSR PEM DER . -cmd p10cr P10CR . -cmd ir cr kur CMP . ( -newkey -key) ( -popo -1 -popo 0 ) ( PKCS#10 CSR). PKCS#10 CSR -cmd rr . -cert -oldcert CMP . -out_trusted filenames|uris () . . / ( "..." ). . -verify_hostname -verify_ip -verify_email . -implicit_confirm (implicit confirmation) . -disable_confirm . : RFC 9810 . -certout filename . -chainout filename . (leaf) . ( ) . -certout filename : . (Certificate enrollment and revocation options) -oldcert filename|uri ( ) (KUR) (RR). KUR -cert (reference certificate) . RR -csr . -issuer -serial -oldcert -csr . ( ) DN IR/CR/KUR . . -cert . CMP -recipient -srvcert -issuer . -issuer name (DN) X.509 (issuer) IR/CR/KUR/RR. NULL-DN ("/") . -recipient -srvcert DN CMP . /type0=value0/type1=value1/type2=... . -subject . -serial number . ( "0x") . -revreason number CRLReason (RR) : 0..10 -1 ( ). RFC 5280 : CRLReason ::= ENUMERATED { unspecified (0), keyCompromise (1), cACompromise (2), affiliationChanged (3), superseded (4), cessationOfOperation (5), certificateHold (6), -- value 7 is not used removeFromCRL (8), privilegeWithdrawn (9), aACompromise (10) } (Message transfer options) -server [http[s]://][userinfo@]host[:port][/path][?query][#fragment] IP host port CMP HTTP(S). IP v4 v6 127.0.0.1 "[::1]" localhost. IPv6 "[" "]" . -port -use_mock_srv . -rspin . (scheme) "https" -tls_used . TLS 443 80 . userinfo fragment . query . -path . -proxy [http[s]://][userinfo@]host[:port][/path][?query][#fragment] HTTP(S) CMP -no_proxy . IPv6 "[" "]" . "https" 443 80 "http://" "https://" ( TLS -tls_used -server "https" ) userinfo query fragment . "http_proxy" "HTTP_PROXY" TLS "https_proxy" "HTTPS_PROXY" . -server . -no_proxy addresses IP / DNS HTTP(S) / ( "..." ). "no_proxy" "NO_PROXY" . -server . -recipient name (DN) (recipient) CMP CMP ( CA ). CMP . : CMP -srvcert -issuer -oldcert CMP ( -cert) NULL-DN. /type0=value0/type1=value1/type2=... . -subject . -path remote_path HTTP CMP ( CMP CMP alias) POST. -server "/". -keep_alive value 0 HTTP ( HTTP 1.0 ) CMP (round trip) . 1 2 (persistent connection) . 2 . 1 . -msg_timeout seconds - CMP . 0 ( ) . -total_timeout . -total_timeout seconds (polling) . 0 ( ) . 0 . (Server authentication options) -trusted filenames|uris () ( CA ) CMP . -srvcert . -srvcert CMP (pin) . -trusted -srvcert -secret -unprotected_errors . / ( "..." ). . -verify_hostname -verify_ip -verify_email . -untrusted filenames|uris () CA. -cert . CMP ( extraCerts ) TLS ( TLS) ( CMP) . / ( "..." ). . -srvcert filename|uri CMP ( ) CMP. (pin) -trusted . CMP CMP . -expect_sender name (DN) CMP. DN -srvcert ( ). CMP PKI CMP . -srvcert -srvcert . /type0=value0/type1=value1/type2=... . -subject . -ignore_keyusage (key usage) CMP CMP. "digitalSignature" CMP . CMP . -unprotected_errors . : o o (IP/CP/KUP) o (RP) o PKIConf : RFC 9810 : o 5.1.3.1 : " PKIProtection [...] PKIX ." o 5.3.21 ErrMsgContent : " (CA) ." o D.4 PKIConf . -no_cache_extracerts (cache) extraCerts CMP . . CMP . ( ) . extraCerts . -srvcertout filename ( ) CMP . ( MAC ) ( ) . -extracertsout filename extraCerts pollRep PKIConf . -cacertsout filename CA caPubs ( IP CP KUP) (genp) infoType "caCerts". -oldwithold filename CA genm infoType "rootCaCert". oldWithNew newWithNew () . -newwithnew filename -infotype rootCaCert . newWithNew genp "rootCaKeyUpdate" . ( ) CA . newWithNew newWithOld -oldwithold () -trusted . : newWithNew . -oldwithold ( ) -trusted . -newwithold filename newWithOld genp infoType "rootCaKeyUpdate". . -oldwithnew filename oldWithNew genp infoType "rootCaKeyUpdate". . -crlcert filename CRL CRL genm infoType "crlStatusList". (distribution point) . -oldcrl filename CRL genm infoType "crlStatusList". -crlcert CRL CRL . . CRL thisUpdate . -crlout filename CRL genp infoType "crls". CRL . (Client authentication options) -ref value // senderKID -cert -subject (MAC ) . -secret arg (secret) MAC . -cert -key . MAC MAC . (PBM) 5.1.3.1 RFC 9810 . arg openssl-passphrase-options(1) . -cert filename|uri CMP . -key . IR/CR/KUR . CMP -oldcert -subject . IR/CR/KUR . " " " " extraCerts . (IR) D.7 RFC 9810 . (KUR) -oldcert . extraCerts . -own_trusted filenames|uris CMP -cert . / ( "..." ). . -verify_hostname -verify_ip -verify_email . -key filename|uri -cert. -secret MAC -unprotected_requests . -newkey IR/CR/KUR . -keypass arg -key. -cert -oldcert PKCS#12 . . arg openssl-passphrase-options(1) . -digest name (digest) MSG_SIG_ALG RFC 9810 (OWF) "MSG_MAC_ALG" . (POPO) . "openssl list -digest-commands" . "sha256" . -mac name MAC "MSG_MAC_ALG" . MAC "openssl list -mac-algorithms" hmacWithSHA256. "hmac-sha1" RFC 4210. -extracerts filenames|uris extraCerts . CMP . / ( "..." ). . -unprotected_requests CMP. (Credentials format options) -certform PEM|DER . PEM . -crlform PEM|DER CRL . DER . DER CRL . -keyform PEM|DER|P12|ENGINE . " (Format Options)" openssl(1) . -otherpass arg -trusted -untrusted -own_trusted -srvcert -crlcert -out_trusted -extracerts -srv_trusted -srv_untrusted -ref_cert -rsp_extracerts -rsp_capubs -rsp_newwithnew -rsp_newwithold -rsp_oldwithnew -tls_extra -tls_trusted. . arg openssl-passphrase-options(1) . -engine id " (Engine Options)" openssl(1) . . : -engine {engineid} -key {keyid} -keyform ENGINE URI -key : -key org.openssl.engine:{engineid}:{keyid} : -key -newkey -tls_key. (Provider options) -provider name -provider-path path -provparam [name:]key=value -propquery propq " (Provider Options)" openssl(1) provider(7) property(7) . (Random state options) -rand files, -writerand file " (Random State Options)" openssl(1) . TLS (TLS connection options) -tls_used CMP TLS ( TLS ) HTTP. -port . -server "https" . -server -use_mock_srv -rspin . TLS TLS . -tls_cert filename|uri TLS TLS. ( -untrusted) TLS . -tls_key filename|uri TLS . -tls_keypass arg TLS (-tls_key). -tls_cert PKCS#12 . . arg openssl-passphrase-options(1) . -tls_extra filenames|uris TLS (handshake). -tls_trusted filenames|uris () TLS. (hostname validation) . / ( "..." ). . -verify_hostname -verify_ip -verify_email . -tls_host name . DNS IP . -server . (Client-side options for debugging and offline scenarios) -batch . . -repeat number . . -reqin filenames CMP () . ( CMP ) . -rspin . CMP . ( -cmd ) -reqin . -reqin -newkey -key -oldcert -csr ( ). : -reqin . POPO ( ) -popo -1 -popo 0 . / ( "..." ). . . recipNonce ( ) . ( ) . -reqin_new_tid transactionID CMP -reqin ( ). CMP . -reqout filenames CMP () . -reqin . / . . . -reqout_only filename CMP . CMP . -port . ( CMP ) . -rspin filenames CMP () . / . -server -use_mock_srv . . -rspout filenames CMP () . -rspin . / . . . -use_mock_srv CMP API HTTP. -server -port . (Mock server options) -port number CMP HTTP . 127.0.0.1 "[::1]" . -server -use_mock_srv . -rspin -rspout -reqin -reqout . -max_msgs number () CMP HTTP CMP . 0 . CMP . -srv_ref value senderKID -srv_cert . -srv_secret arg (secret). -srv_cert filename|uri . -srv_key filename|uri . -srv_keypass arg ( ) . -srv_trusted filenames|uris . -verify_hostname -verify_ip -verify_email . -srv_untrusted filenames|uris CA . -ref_cert filename|uri RR oldCertID KUR. -rsp_cert filename|uri . -rsp_key filename|uri . -rsp_keypass arg rsp_cert rsp_key. -rsp_crl filename|uri CRL genp "crls". -rsp_extracerts filenames|uris . -rsp_capubs filenames|uris CA (IP) . -rsp_newwithnew filename|uri newWithNew genp rootCaKeyUpdate. -rsp_newwithold filename|uri newWithOld genp rootCaKeyUpdate. -rsp_oldwithnew filename|uri oldWithNew genp rootCaKeyUpdate. -poll_count number (poll) . -check_after number checkAfter ( ) . -grant_implicitconf . -pkistatus number PKIStatus . 0 ( / accepted) 6 ( / keyUpdateWarning) . -failure number . 0 ( / badAlg) 26 ( / duplicateCertReq) . -failurebits number Number representing failure bits to be included in server response. Valid range is 0 .. 2^27 - 1. -statusstring arg . -send_error . -send_unprotected CMP. -send_unprot_err (IP/CP/KUP) (RP) . : RFC 9810 . -accept_unprotected . -accept_unprot_err . . -accept_raverified RAVERIFIED (POPO). CMP TLS (Certificate verification options, for both CMP and TLS) -allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks . " (Verification Options)" openssl-verification-options(1) . -verify_hostname -verify_ip -verify_email -out_trusted . (NOTES) CMP CA "caPubs" infoType "caCerts" "rootCaCert" CMP . -trusted -secret MAC . -srvcertout . CMP . CMP CMP . CMP . . CMP -unprotected_errors . OpenSSL trace ( "./config enable-trace") OPENSSL_TRACE HTTP HTTP . (EXAMPLES) OpenSSL (Simple examples using the default OpenSSL configuration file) CMP CMP openssl/apps/openssl.cnf Insta Demo CA . CA . export OPENSSL_CONF=/path/to/openssl/apps/openssl.cnf openssl genrsa -out insta.priv.pem openssl cmp -section insta insta.cert.pem insta.priv.pem . : openssl x509 -noout -text -in insta.cert.pem HTTP http_proxy -proxy CMP -proxy : -proxy http://192.168.1.1:8080 Insta Demo CA insta 3078 . CMP insta.ca.crt CA [signature] . [insta] : openssl cmp -section insta,signature CMP IR CR . : openssl cmp -section insta -cmd cr [cr] : openssl cmp -section insta,cr : openssl cmp -section insta,kur,signature . MAC . : openssl cmp -section insta,rr -trusted insta.ca.crt : openssl cmp -section insta,rr,signature / . -reqexts X.509 "v3_req" openssl/apps/openssl.cnf: openssl cmp -section insta,cr -reqexts v3_req (Certificate enrollment) . CMP TCP 80 /pkix/ . CMP . CA CA -recipient CA "capubs.pem" . "\" . openssl genrsa -out cl_key.pem openssl cmp -cmd ir -server 127.0.0.1:80/pkix/ -recipient "/CN=CMPserver" \ -ref 1234 -secret pass:1234-5678 \ -newkey cl_key.pem -subject "/CN=MyName" \ -cacertsout capubs.pem -certout cl_cert.pem (Certificate update) "capubs.pem" . . openssl genrsa -out cl_key_new.pem openssl cmp -cmd kur -server 127.0.0.1:80/pkix/ \ -trusted capubs.pem \ -cert cl_cert.pem -key cl_key.pem \ -newkey cl_key_new.pem -certout cl_cert.pem cp cl_key_new.pem cl_key.pem . CMP (Requesting information from CMP server) " " (empty General Message). infoType ITAV . openssl cmp -cmd genm -server 127.0.0.1/pkix/ -recipient "/CN=CMPserver" \ -ref 1234 -secret pass:1234-5678 (Using a custom configuration file) CMP . OpenSSL openssl.cnf . . : [cmp] server = 127.0.0.1 path = pkix/ trusted = capubs.pem cert = cl_cert.pem key = cl_key.pem newkey = cl_key.pem certout = cl_cert.pem [init] recipient = "/CN=CMPserver" trusted = cert = key = ref = 1234 secret = pass:1234-5678-1234-567 subject = "/CN=MyName" cacertsout = capubs.pem : openssl cmp -section cmp,init openssl cmp -cmd kur -newkey cl_key_new.pem : openssl cmp -section cmp,init -cmd genm (SEE ALSO) openssl-genrsa(1), openssl-ecparam(1), openssl-list(1), openssl-req(1), openssl-x509(1), x509v3_config(5) (HISTORY) cmp OpenSSL 3.0 . -engine OpenSSL 3.0 . -oldwithold -newwithnew -newwithold -oldwithnew -srvcertout -serial OpenSSL 3.2 -cacertsout CA. -issuer . -profile -no_cache_extracerts OpenSSL 3.3 (delayed delivery) . -template -crlcert -oldcrl -crlout -crlform -rsp_crl OpenSSL 3.4 . -centralkeygen -newkeyout -rsp_key -rsp_keypass OpenSSL 3.5 . (COPYRIGHT) 2007-2026 OpenSSL . . 2.0 ("") . . LICENSE . 3.5.7 2026-06-09 OPENSSL-CMP(1SSL)