1CURLOPT_PROXY_CAINFO_BLOB(3)curl_easy_setopt optionsCURLOPT_PROXY_CAINFO_BLOB(3)
2
3
4
6 CURLOPT_PROXY_CAINFO_BLOB - proxy Certificate Authority (CA) bundle in
7 PEM format
8
10 #include <curl/curl.h>
11
12 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAINFO_BLOB,
13 struct curl_blob *stblob);
14
16 This option is for connecting to an HTTPS proxy, not an HTTPS server.
17
18 Pass a pointer to a curl_blob structure, which contains information
19 (pointer and size) about a memory block with binary data of PEM encoded
20 content holding one or more certificates to verify the HTTPS proxy
21 with.
22
23 If CURLOPT_PROXY_SSL_VERIFYPEER(3) is zero and you avoid verifying the
24 server's certificate, CURLOPT_PROXY_CAINFO_BLOB(3) is not needed.
25
26 This option overrides CURLOPT_PROXY_CAINFO(3).
27
29 NULL
30
32 Used with HTTPS proxy
33
35 char *strpem; /* strpem must point to a PEM string */
36 CURL *curl = curl_easy_init();
37 if(curl) {
38 struct curl_blob blob;
39 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
40 /* using an HTTPS proxy */
41 curl_easy_setopt(curl, CURLOPT_PROXY, "https://localhost:443");
42 blob.data = strpem;
43 blob.len = strlen(strpem);
44 blob.flags = CURL_BLOB_COPY;
45 curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO_BLOB, &blob);
46 ret = curl_easy_perform(curl);
47 curl_easy_cleanup(curl);
48 }
49
51 Added in 7.77.0.
52
53 This option is supported by the rustls (since 7.82.0), OpenSSL, Secure
54 Transport and Schannel backends.
55
57 Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if
58 not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.
59
61 CURLOPT_PROXY_CAINFO(3), CURLOPT_PROXY_CAPATH(3), CUR‐
62 LOPT_PROXY_SSL_VERIFYPEER(3), CURLOPT_PROXY_SSL_VERIFYHOST(3), CUR‐
63 LOPT_CAINFO(3), CURLOPT_CAINFO_BLOB(3), CURLOPT_CAPATH(3), CUR‐
64 LOPT_SSL_VERIFYPEER(3), CURLOPT_SSL_VERIFYHOST(3),
65
66
67
68libcurl 7.85.0 May 17, 2022 CURLOPT_PROXY_CAINFO_BLOB(3)