Command Section

CURLOPT_CAPATH(3)          curl_easy_setopt options          CURLOPT_CAPATH(3)

NAME
       CURLOPT_CAPATH - specify directory holding CA certificates

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAPATH, char *capath);

DESCRIPTION
       Pass a char * to a null-terminated string naming a directory holding
       multiple CA certificates to verify the peer with. If libcurl is built
       against OpenSSL, the certificate directory must be prepared using the
       openssl c_rehash utility.  This makes sense only when used in
       combination with the _SSL_VERIFYPEER&section=3">CURLOPT_SSL_VERIFYPEER(3) option.

       The _CAPATH&section=3">CURLOPT_CAPATH(3) function apparently does not work in Windows due
       to some limitation in openssl.

       The application does not have to keep the string around after setting
       this option.

DEFAULT
       A default path detected at build time.

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

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
         curl_easy_setopt(curl, CURLOPT_CAPATH, "/etc/cert-dir");
         ret = curl_easy_perform(curl);
         curl_easy_cleanup(curl);
       }

AVAILABILITY
       This option is supported by the OpenSSL, GnuTLS and mbedTLS (since
       7.56.0) backends. The NSS backend provides the option only for backward
       compatibility.

RETURN VALUE
       CURLE_OK if supported; or an error such as:

       CURLE_NOT_BUILT_IN - Not supported by the SSL backend

       CURLE_UNKNOWN_OPTION

       CURLE_OUT_OF_MEMORY

SEE ALSO
       CURLOPT_CAINFO(3),  CURLOPT_STDERR(3), CURLOPT_DEBUGFUNCTION(3),

libcurl 7.77.0                   May 14, 2021                CURLOPT_CAPATH(3)

Command Section

man2web Home...