manpagez: man pages & more
man OSSL_CMP_MSG_http_perform(3)
Home | html | info | man
OSSL_CMP_MSG_HTTP_PERFORM(3ossl)    OpenSSL   OSSL_CMP_MSG_HTTP_PERFORM(3ossl)



NAME

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


SYNOPSIS

        #include <openssl/cmp.h>

        OSSL_CMP_MSG *OSSL_CMP_MSG_http_perform(OSSL_CMP_CTX *ctx,
                                                const OSSL_CMP_MSG *req);


DESCRIPTION

       OSSL_CMP_MSG_http_perform(3) sends the given PKIMessage req to the CMP
       server specified in ctx and returns the result obtained from it.

       If OSSL_CMP_CTX_set_transfer_cb_arg(3) has been used to set the
       transfer callback argument then the provided pointer bios is taken as a
       two-element BIO array to use for the exchange with the server as
       described for the bio and rbio parameters of OSSL_HTTP_open(3).  For
       instance, the two BIO pointers may be equal and refer to a TLS
       connection, such as in BRSKI-AE where a pre-established TLS channel is
       reused for CMP.

       Otherwise the server specified via OSSL_CMP_CTX_set1_server(3) and
       optionally OSSL_CMP_CTX_set_serverPort(3) is contacted, where the
       default port is 80 for HTTP and 443 for HTTPS. The HTTP path (aka "CMP
       alias" in this context) to use is by default "/", otherwise the string
       specified via OSSL_CMP_CTX_set1_serverPath(3).  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).


NOTES

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


RETURN VALUES

       OSSL_CMP_MSG_http_perform(3) returns the received CMP response message
       on success, else NULL.


SEE ALSO

       OSSL_CMP_CTX_new(3), OSSL_HTTP_open(3), and OSSL_HTTP_proxy_connect(3).


HISTORY

       The OpenSSL CMP support was added in OpenSSL 3.0.

       The OSSL_CMP_MSG_http_perform(3) use of transfer_cb_arg was added in
       OpenSSL 3.5.


COPYRIGHT

       Copyright 2007-2025 The OpenSSL Project Authors. All Rights Reserved.

       Licensed under the Apache License 2.0 (the "License").  You may not use
       this file except in compliance with the License.  You can obtain a copy
       in the file LICENSE in the source distribution or at
       <https://www.openssl.org/source/license.html>.

3.5.0                             2025-04-10  OSSL_CMP_MSG_HTTP_PERFORM(3ossl)

openssl 3.5.0 - Generated Tue Apr 22 18:09:07 CDT 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.