| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- .\" generated by cd2nroff 0.1 from CURLOPT_CAINFO.md
- .TH CURLOPT_CAINFO 3 "2025-01-17" libcurl
- .SH NAME
- CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path);
- .fi
- .SH DESCRIPTION
- Pass a char pointer to a null\-terminated string naming a file holding one or
- more certificates to verify the peer with.
- If \fICURLOPT_SSL_VERIFYPEER(3)\fP is zero and you avoid verifying the
- server\(aqs certificate, \fICURLOPT_CAINFO(3)\fP need not even indicate an
- accessible file.
- This option is by default set to the system path where libcurl\(aqs CA
- certificate bundle is assumed to be stored, as established at build time.
- (iOS and macOS) When curl uses Secure Transport this option is supported. If
- the option is not set, then curl uses the certificates in the system and user
- Keychain to verify the peer.
- (Schannel) This option is supported for Schannel in Windows 7 or later but we
- recommend not using it until Windows 8 since it works better starting then.
- If the option is not set, then curl uses the certificates in the Windows\(aq
- store of root certificates (the default for Schannel).
- The application does not have to keep the string around after setting this
- option.
- The default value for this can be figured out with \fICURLINFO_CAINFO(3)\fP.
- .SH DEFAULT
- Built\-in system specific. When curl is built with Secure Transport or
- Schannel, this option is not set by default.
- .SH PROTOCOLS
- This functionality affects all TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
- All TLS backends support this option.
- .SH EXAMPLE
- .nf
- int main(void)
- {
- CURL *curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
- curl_easy_setopt(curl, CURLOPT_CAINFO, "/etc/certs/cabundle.pem");
- curl_easy_perform(curl);
- curl_easy_cleanup(curl);
- }
- }
- .fi
- .SH HISTORY
- Schannel support added in libcurl 7.60.
- .SH AVAILABILITY
- Added in curl 7.4.2
- .SH RETURN VALUE
- Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
- CURLE_OUT_OF_MEMORY if there was insufficient heap space.
- .SH SEE ALSO
- .BR CURLINFO_CAINFO (3),
- .BR CURLOPT_CAINFO_BLOB (3),
- .BR CURLOPT_CAPATH (3),
- .BR CURLOPT_CA_CACHE_TIMEOUT (3),
- .BR CURLOPT_SSL_VERIFYHOST (3),
- .BR CURLOPT_SSL_VERIFYPEER (3)
|