curl / libcurl / API / curl_easy_setopt / CURLOPT_SSL_VERIFYSTATUS

CURLOPT_SSL_VERIFYSTATUS explained

Name

CURLOPT_SSL_VERIFYSTATUS - 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

This functionality affects 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 curl 7.41.0

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)

This HTML page was made with roffit.