Provided by: libssl-doc_3.0.8-1ubuntu1_all bug

NAME

       OCSP_REQUEST_new, OCSP_REQUEST_free, OCSP_request_add0_id, OCSP_request_sign,
       OCSP_request_add1_cert, OCSP_request_onereq_count, OCSP_request_onereq_get0 - OCSP request
       functions

SYNOPSIS

        #include <openssl/ocsp.h>

        OCSP_REQUEST *OCSP_REQUEST_new(void);
        void OCSP_REQUEST_free(OCSP_REQUEST *req);

        OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid);

        int OCSP_request_sign(OCSP_REQUEST *req,
                              X509 *signer, EVP_PKEY *key, const EVP_MD *dgst,
                              STACK_OF(X509) *certs, unsigned long flags);

        int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert);

        int OCSP_request_onereq_count(OCSP_REQUEST *req);
        OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i);

DESCRIPTION

       OCSP_REQUEST_new() allocates and returns an empty OCSP_REQUEST structure.

       OCSP_REQUEST_free() frees up the request structure req.

       OCSP_request_add0_id() adds certificate ID cid to req. It returns the OCSP_ONEREQ
       structure added so an application can add additional extensions to the request. The id
       parameter MUST NOT be freed up after the operation.

       OCSP_request_sign() signs OCSP request req using certificate signer, private key key,
       digest dgst and additional certificates certs. If the flags option OCSP_NOCERTS is set
       then no certificates will be included in the request.

       OCSP_request_add1_cert() adds certificate cert to request req. The application is
       responsible for freeing up cert after use.

       OCSP_request_onereq_count() returns the total number of OCSP_ONEREQ structures in req.

       OCSP_request_onereq_get0() returns an internal pointer to the OCSP_ONEREQ contained in req
       of index i. The index value i runs from 0 to OCSP_request_onereq_count(req) - 1.

RETURN VALUES

       OCSP_REQUEST_new() returns an empty OCSP_REQUEST structure or NULL if an error occurred.

       OCSP_request_add0_id() returns the OCSP_ONEREQ structure containing cid or NULL if an
       error occurred.

       OCSP_request_sign() and OCSP_request_add1_cert() return 1 for success and 0 for failure.

       OCSP_request_onereq_count() returns the total number of OCSP_ONEREQ structures in req and
       -1 on error.

       OCSP_request_onereq_get0() returns a pointer to an OCSP_ONEREQ structure or NULL if the
       index value is out or range.

NOTES

       An OCSP request structure contains one or more OCSP_ONEREQ structures corresponding to
       each certificate.

       OCSP_request_onereq_count() and OCSP_request_onereq_get0() are mainly used by OCSP
       responders.

EXAMPLES

       Create an OCSP_REQUEST structure for certificate cert with issuer issuer:

        OCSP_REQUEST *req;
        OCSP_ID *cid;

        req = OCSP_REQUEST_new();
        if (req == NULL)
           /* error */
        cid = OCSP_cert_to_id(EVP_sha1(), cert, issuer);
        if (cid == NULL)
           /* error */

        if (OCSP_REQUEST_add0_id(req, cid) == NULL)
           /* error */

        /* Do something with req, e.g. query responder */

        OCSP_REQUEST_free(req);

SEE ALSO

       crypto(7), OCSP_cert_to_id(3), OCSP_request_add1_nonce(3), OCSP_resp_find_status(3),
       OCSP_response_status(3), OCSP_sendreq_new(3)

COPYRIGHT

       Copyright 2015-2016 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>.