Sponsor:

Your company here ā€” click to reach over 10,000 unique daily visitors

CURLOPT_SSL_VERIFYSTATUS - Man Page

verify the certificate's status

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYSTATUS, long verify);

Description

Pass a long as parameter set to 1 to enable or 0 to disable.

This option determines whether libcurl verifies the status of the server cert using the "Certificate Status Request" TLS extension (aka. OCSP stapling).

Note that if this option is enabled but the server does not support the TLS extension, the verification fails.

Default

0

Protocols

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

This option works only with the following TLS backends: GnuTLS and OpenSSL

Example

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
    /* ask for OCSP stapling! */
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 1L);
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
}

Availability

Added in 7.41.0. This option is currently only supported by the OpenSSL and GnuTLS TLS backends.

Return Value

Returns CURLE_OK if OCSP stapling is supported by the SSL backend, otherwise returns CURLE_NOT_BUILT_IN.

See Also

CURLOPT_CAINFO(3), CURLOPT_SSL_VERIFYHOST(3), CURLOPT_SSL_VERIFYPEER(3)

Referenced By

curl_easy_setopt(3), CURLOPT_DOH_SSL_VERIFYSTATUS(3), libcurl-errors(3), libcurl-symbols(3).

2024-05-22 libcurl