gnutls_certificate_set_ocsp_status_request_function2

gnutls_certificate_set_ocsp_status_request_function2 — API function

Synopsis

#include <gnutls/gnutls.h>

int gnutls_certificate_set_ocsp_status_request_function2(gnutls_certificate_credentials_t sc, unsigned idx, gnutls_status_request_ocsp_func ocsp_func, void * ptr);

Arguments

gnutls_certificate_credentials_t sc

is a gnutls_certificate_credentials_t type.

unsigned idx

is a certificate index as returned by gnutls_certificate_set_key() and friends

gnutls_status_request_ocsp_func ocsp_func

function pointer to OCSP status request callback.

void * ptr

opaque pointer passed to callback function

Description

This function is to be used by server to register a callback to provide OCSP status requests that correspond to the indexed certificate chain from the client.  The callback will be invoked if the client supplied a  status-request OCSP extension.

The callback function prototype is:

typedef int (*gnutls_status_request_ocsp_func) (gnutls_session_t session, void *ptr, gnutls_datum_t *ocsp_response);

The callback will be invoked if the client requests an OCSP certificate status.  The callback may return GNUTLS_E_NO_CERTIFICATE_STATUS, if there is no recent OCSP response. If the callback returns GNUTLS_E_SUCCESS, it is expected to have the  ocsp_response field set with a valid (DER-encoded) OCSP response. The response must be a value allocated using gnutls_malloc(), and will be deinitialized by the caller.

Note

the ability to set multiple OCSP responses per credential structure via the index  idx was added in version 3.5.6. To keep backwards compatibility, it requires using gnutls_certificate_set_flags() with the GNUTLS_CERTIFICATE_API_V2 flag to make the set certificate functions return an index usable by this function.

Returns

On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error code is returned.

Since

3.5.5

Reporting Bugs

Report bugs to <bugs@gnutls.org>.
Home page: http://www.gnutls.org

See Also

The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit

http://www.gnutls.org/manual/

Info

3.6.1 gnutls