Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support CAfile in memory with CURLOPT_CAINFO_BLOB and CURLOPT_PRO…
…XY_CAINFO_BLOB Let applications provide the CA bundle to libcurl as a PEM formatted in-memory buffer. Rebased branch bundled_cacert from moparisthebest and then modified Validation : 397e11b [397e11b] Parents : 4506607 Auteur : moparisthebest <admin@moparisthebest.com> Date : vendredi 3 avril 2020 00:32:42 Auteur : moparisthebest Date de validation : samedi 4 avril 2020 00:31:23 Add CURLOPT_CAINFO_PEM no message
- Loading branch information
Showing
16 changed files
with
264 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
.\" ************************************************************************** | ||
.\" * _ _ ____ _ | ||
.\" * Project ___| | | | _ \| | | ||
.\" * / __| | | | |_) | | | ||
.\" * | (__| |_| | _ <| |___ | ||
.\" * \___|\___/|_| \_\_____| | ||
.\" * | ||
.\" * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al. | ||
.\" * | ||
.\" * This software is licensed as described in the file COPYING, which | ||
.\" * you should have received as part of this distribution. The terms | ||
.\" * are also available at https://curl.se/docs/copyright.html. | ||
.\" * | ||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell | ||
.\" * copies of the Software, and permit persons to whom the Software is | ||
.\" * furnished to do so, under the terms of the COPYING file. | ||
.\" * | ||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
.\" * KIND, either express or implied. | ||
.\" * | ||
.\" ************************************************************************** | ||
.\" | ||
.TH CURLOPT_CAINFO_BLOB 3 "31 March 2021" "libcurl 7.76.0" "curl_easy_setopt options" | ||
.SH NAME | ||
CURLOPT_CAINFO_BLOB \- Certificate Authority (CA) bundle in PEM format | ||
.SH SYNOPSIS | ||
#include <curl/curl.h> | ||
|
||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO_BLOB, struct curl_blob *stblob); | ||
.SH DESCRIPTION | ||
Pass a pointer to a curl_blob structure, which contains information (pointer | ||
and size) about a memory block with binary data of PEM encoded content holding | ||
one or more certificates to verify the HTTPS server with. | ||
|
||
If \fICURLOPT_SSL_VERIFYPEER(3)\fP is zero and you avoid verifying the | ||
server's certificate, \fICURLOPT_CAINFO_BLOB(3)\fP is not needed. | ||
|
||
This option overrides \fICURLOPT_CAINFO(3)\fP. | ||
.SH DEFAULT | ||
NULL | ||
.SH PROTOCOLS | ||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. | ||
.SH EXAMPLE | ||
.nf | ||
char *strpem; /* strpem must point to a PEM string */ | ||
CURL *curl = curl_easy_init(); | ||
if(curl) { | ||
struct curl_blob blob; | ||
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); | ||
blob.data = strpem; | ||
blob.len = strlen(strpem); | ||
blob.flags = CURL_BLOB_COPY; | ||
curl_easy_setopt(curl, CURLOPT_CAINFO_BLOB, &blob); | ||
ret = curl_easy_perform(curl); | ||
curl_easy_cleanup(curl); | ||
} | ||
.fi | ||
.SH AVAILABILITY | ||
Added in 7.76.0 | ||
|
||
This option is supported by the OpenSSL backends. | ||
.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 CURLOPT_CAINFO "(3), " CURLOPT_CAPATH "(3), " | ||
.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), " |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
.\" ************************************************************************** | ||
.\" * _ _ ____ _ | ||
.\" * Project ___| | | | _ \| | | ||
.\" * / __| | | | |_) | | | ||
.\" * | (__| |_| | _ <| |___ | ||
.\" * \___|\___/|_| \_\_____| | ||
.\" * | ||
.\" * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al. | ||
.\" * | ||
.\" * This software is licensed as described in the file COPYING, which | ||
.\" * you should have received as part of this distribution. The terms | ||
.\" * are also available at https://curl.se/docs/copyright.html. | ||
.\" * | ||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell | ||
.\" * copies of the Software, and permit persons to whom the Software is | ||
.\" * furnished to do so, under the terms of the COPYING file. | ||
.\" * | ||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
.\" * KIND, either express or implied. | ||
.\" * | ||
.\" ************************************************************************** | ||
.\" | ||
.TH CURLOPT_PROXY_CAINFO_BLOB 3 "31 March 2021" "libcurl 7.76.0" "curl_easy_setopt options" | ||
.SH NAME | ||
CURLOPT_PROXY_CAINFO_BLOB \- proxy Certificate Authority (CA) bundle in PEM format | ||
.SH SYNOPSIS | ||
#include <curl/curl.h> | ||
|
||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAINFO_BLOB, struct curl_blob *stblob); | ||
.SH DESCRIPTION | ||
This option is for connecting to an HTTPS proxy, not an HTTPS server. | ||
|
||
Pass a pointer to a curl_blob structure, which contains information (pointer | ||
and size) about a memory block with binary data of PEM encoded content holding | ||
one or more certificates to verify the HTTPS proxy with. | ||
|
||
If \fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP is zero and you avoid verifying the | ||
server's certificate, \fICURLOPT_PROXY_CAINFO_BLOB(3)\fP is not needed. | ||
|
||
This option overrides \fICURLOPT_PROXY_CAINFO(3)\fP. | ||
.SH DEFAULT | ||
NULL | ||
.SH PROTOCOLS | ||
Used with HTTPS proxy | ||
.SH EXAMPLE | ||
.nf | ||
char *strpem; /* strpem must point to a PEM string */ | ||
CURL *curl = curl_easy_init(); | ||
if(curl) { | ||
struct curl_blob blob; | ||
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); | ||
/* using an HTTPS proxy */ | ||
curl_easy_setopt(curl, CURLOPT_PROXY, "https://localhost:443"); | ||
blob.data = strpem; | ||
blob.len = strlen(strpem); | ||
blob.flags = CURL_BLOB_COPY; | ||
curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO_BLOB, &blob); | ||
ret = curl_easy_perform(curl); | ||
curl_easy_cleanup(curl); | ||
} | ||
.fi | ||
.SH AVAILABILITY | ||
Added in 7.76.0 | ||
|
||
This option is supported by the OpenSSL backends. | ||
.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 CURLOPT_PROXY_CAINFO "(3), " CURLOPT_PROXY_CAPATH "(3), " | ||
.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), " CURLOPT_PROXY_SSL_VERIFYHOST "(3), " | ||
.BR CURLOPT_CAINFO "(3), " CURLOPT_CAINFO_BLOB "(3), " | ||
.BR CURLOPT_CAPATH "(3), " | ||
.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), " |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.