curl: add --ca-native and --proxy-ca-native

These are two boolean options to ask curl to use the native OS's CA
store when verifying TLS servers. For peers and for proxies
respectively.

They currently only have an effect for curl on Windows when built to use
OpenSSL for TLS.

Closes #11049
This commit is contained in:
Daniel Stenberg 2023-06-03 23:48:37 +02:00
parent c78a185df7
commit 9ad23c38e5
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
8 changed files with 63 additions and 4 deletions

View file

@ -247,6 +247,8 @@ static const struct LongShort aliases[]= {
{"Ed", "key-type", ARG_STRING},
{"Ee", "pass", ARG_STRING},
{"Ef", "engine", ARG_STRING},
{"EG", "ca-native", ARG_BOOL},
{"EH", "proxy-ca-native", ARG_BOOL},
{"Eg", "capath", ARG_FILENAME},
{"Eh", "pubkey", ARG_STRING},
{"Ei", "hostpubmd5", ARG_STRING},
@ -1723,9 +1725,15 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
cleanarg(clearthis);
GetFileAndPassword(nextarg, &config->cert, &config->key_passwd);
break;
case 'a': /* CA info PEM file */
case 'a': /* --cacert CA info PEM file */
GetStr(&config->cacert, nextarg);
break;
case 'G': /* --ca-native */
config->native_ca_store = toggle;
break;
case 'H': /* --proxy-ca-native */
config->proxy_native_ca_store = toggle;
break;
case 'b': /* cert file type */
GetStr(&config->cert_type, nextarg);
break;