OSSL_CMP_MSG_http_perform.3ossl - Man Page

client-side HTTP(S) transfer of a CMP request-response pair


 #include <openssl/cmp.h>

                                         const OSSL_CMP_MSG *req);


OSSL_CMP_MSG_http_perform() sends the given PKIMessage req to the CMP server specified in ctx via OSSL_CMP_CTX_set1_server(3) and optionally OSSL_CMP_CTX_set_serverPort(3), using any “CMP alias” optionally specified via OSSL_CMP_CTX_set1_serverPath(3). The default port is 80 for HTTP and 443 for HTTPS; the default path is “/”. On success the function returns the server's response PKIMessage.

The function makes use of any HTTP callback function set via OSSL_CMP_CTX_set_http_cb(3). It respects any timeout value set via OSSL_CMP_CTX_set_option(3) with an OSSL_CMP_OPT_MSG_TIMEOUT argument. It also respects any HTTP(S) proxy options set via OSSL_CMP_CTX_set1_proxy(3) and OSSL_CMP_CTX_set1_no_proxy(3) and the respective environment variables. Proxying plain HTTP is supported directly, while using a proxy for HTTPS connections requires a suitable callback function such as OSSL_HTTP_proxy_connect(3).


CMP is defined in RFC 4210. HTTP transfer for CMP is defined in RFC 6712.

Return Values

OSSL_CMP_MSG_http_perform() returns a CMP message on success, else NULL.

See Also

OSSL_CMP_CTX_new(3), OSSL_HTTP_proxy_connect(3).


The OpenSSL CMP support was added in OpenSSL 3.0.

Referenced By

OSSL_CMP_CTX_new.3ossl(3), OSSL_CMP_exec_certreq.3ossl(3), OSSL_CMP_SRV_CTX_new.3ossl(3).

2021-09-09 3.0.0 OpenSSL