Viktor Szakats
1730407b74
windows: add build option to use the native CA store
...
With the same semantics as Apple SecTrust, in both libcurl and the curl
tool, when using non-Schannel TLS backends. In practice it means that
it makes TLS work without manually or implicitly configuring a CA bundle
`.crt` file, such as `curl-ca-bundle.crt`.
To enable:
- autotools: `--enable-ca-native`
- cmake: `-DCURL_CA_NATIVE=ON`
- CPPFLAGS: `-DCURL_CA_NATIVE`
When enabled:
- enables `CURLSSLOPT_NATIVE_CA` (libcurl) / `--ca-native`
and `--proxy-ca-native` (curl tool) options by default.
- unsafe search for an on-disk CA bundle gets disabled by default.
Equivalent to `--disable-ca-search` with autotools,
`-DCURL_DISABLE_CA_SEARCH=ON` with CMake.
- build-time detection of CA bundle and CA path gets disabled. As with
Apple SecTrust. This was already the default for Windows.
- native CA can be disabled at run-time with the `--no-ca-native`
and/or `--no-proxy-ca-native` command-line options.
Rationale: This build option:
- has a repeat and active interest from packagers and users.
- helps integrating curl with Windows for those who need this.
- it also applies to macOS: #17525
Shipped in curl 8.17.0.
- makes it trivial to use custom certs configured on the OS.
- frees applications/packagers/users from the task of securely
distributing, and keeping up-to-date, a CA bundle.
- frees potentially many curl tool from configuring a CA bundle manually
to access HTTPS (and other TLS) URLs. This is traditionally difficult
on Windows because there is no concept of a universal, protected,
non-world-writable, location on the file system to securely store
a CA bundle.
- allows using modern features regardless of Windows version. Some of
these features are not supported with Schannel (e.g. HTTP/3, ECH) on
any Windows version.
- is necessary for HTTP/3 builds, where bootstrapping a CA bundle is not
possible with Schannel, because MultiSSL is not an option, and HTTP/3
is not supported with Schannel.
Ref: #16181 (previous attempt)
Ref: https://github.com/curl/curl/discussions/9348
Ref: https://github.com/curl/curl/issues/9350
Ref: https://github.com/curl/curl/pull/13111
Ref: https://github.com/microsoft/vcpkg/pull/46459#issuecomment-3162068701
Ref: 22652a5a4cb6a4cc1c0f4ff3ebc4f9768f6663cd #14582
Ref: eefd03c572996e5de4dec4fe295ad6f103e0eefc #18703
Closes #18279
2026-01-17 19:18:52 +01:00
..
2026-01-17 11:41:49 +01:00
2026-01-15 13:06:13 +01:00
2026-01-17 11:46:31 +01:00
2026-01-13 17:43:35 +01:00
2026-01-17 19:18:52 +01:00
2026-01-14 10:38:34 +01:00
2026-01-11 10:44:43 +01:00
2026-01-17 11:45:18 +01:00
2025-12-02 16:52:54 +01:00
2026-01-14 02:35:00 +01:00
2026-01-17 11:45:18 +01:00
2026-01-17 11:45:18 +01:00
2026-01-17 11:46:31 +01:00
2026-01-17 11:45:18 +01:00
2025-12-26 22:06:09 +01:00
2025-12-19 10:58:11 +01:00
2025-12-26 22:06:09 +01:00
2025-12-04 19:04:19 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-14 23:34:05 +01:00
2025-12-26 22:06:09 +01:00
2026-01-14 10:38:34 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:45:18 +01:00
2025-12-12 04:18:48 +01:00
2026-01-17 11:46:31 +01:00
2025-12-21 02:16:34 +01:00
2026-01-17 11:46:31 +01:00
2026-01-17 11:41:49 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2025-12-20 11:34:27 +01:00
2026-01-10 12:40:54 +01:00
2026-01-10 12:40:54 +01:00
2026-01-10 12:40:54 +01:00
2026-01-17 11:41:49 +01:00
2026-01-14 23:34:05 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-21 02:16:34 +01:00
2025-12-26 22:06:09 +01:00
2025-12-22 14:17:21 +01:00
2026-01-17 11:46:31 +01:00
2025-12-19 10:58:11 +01:00
2026-01-17 11:46:31 +01:00
2025-12-31 15:59:19 +01:00
2025-12-26 22:06:09 +01:00
2026-01-14 00:55:05 +01:00
2026-01-17 19:18:52 +01:00
2025-12-02 16:52:54 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-14 10:38:34 +01:00
2025-12-26 22:06:09 +01:00
2025-12-19 10:58:11 +01:00
2025-12-02 16:52:54 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-13 09:52:26 +01:00
2025-12-26 22:06:09 +01:00
2025-10-06 20:57:59 +02:00
2026-01-15 13:06:13 +01:00
2025-12-26 22:06:09 +01:00
2026-01-13 17:43:34 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2026-01-17 11:41:49 +01:00
2025-12-26 22:06:09 +01:00
2026-01-15 13:06:13 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:41:49 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2026-01-14 23:34:05 +01:00
2025-12-26 22:06:09 +01:00
2026-01-13 01:31:27 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:45:18 +01:00
2026-01-17 11:45:18 +01:00
2025-12-26 22:06:09 +01:00
2025-12-19 10:58:11 +01:00
2026-01-17 11:41:49 +01:00
2026-01-15 23:32:52 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-19 10:58:11 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-20 22:02:20 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-13 09:52:26 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-15 13:06:13 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-09 13:32:33 +01:00
2025-11-07 13:01:39 +01:00
2026-01-13 01:31:27 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-09 10:49:28 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:45:18 +01:00
2026-01-17 11:45:18 +01:00
2026-01-17 11:45:18 +01:00
2026-01-17 11:45:18 +01:00
2026-01-16 10:55:10 +01:00
2025-12-19 10:58:11 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2026-01-13 21:15:36 +01:00
2025-12-21 02:16:33 +01:00
2026-01-17 11:46:31 +01:00
2025-12-19 10:58:11 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-13 09:52:26 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-23 17:12:14 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:41:49 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-03 14:50:16 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2026-01-14 00:55:04 +01:00
2025-10-07 10:55:31 +02:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-15 13:06:13 +01:00
2025-12-22 23:01:05 +01:00
2026-01-13 17:43:35 +01:00
2026-01-13 17:43:35 +01:00
2026-01-15 13:06:13 +01:00
2026-01-17 11:46:31 +01:00
2026-01-15 13:06:13 +01:00
2026-01-10 12:40:54 +01:00
2026-01-13 09:46:49 +01:00
2025-12-26 22:06:09 +01:00
2026-01-15 13:06:13 +01:00
2025-12-26 22:06:09 +01:00
2026-01-15 13:06:13 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2026-01-05 23:16:04 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-13 18:13:32 +01:00
2025-12-19 10:58:11 +01:00
2026-01-13 21:15:36 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2026-01-16 16:42:31 +01:00
2026-01-01 12:43:59 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:41:49 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2026-01-16 16:42:31 +01:00
2025-12-29 22:44:34 +01:00
2025-12-29 22:44:34 +01:00
2026-01-14 23:34:05 +01:00
2025-12-26 22:06:09 +01:00
2026-01-14 10:38:34 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2026-01-13 09:55:09 +01:00
2025-12-03 14:50:16 +01:00
2025-12-12 04:18:48 +01:00
2025-12-31 17:00:03 +01:00
2026-01-17 11:41:49 +01:00
2026-01-17 11:41:49 +01:00
2025-12-03 14:50:16 +01:00
2025-12-26 22:06:09 +01:00
2025-11-25 11:05:48 +01:00
2026-01-13 01:31:27 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2026-01-16 16:43:43 +01:00
2026-01-16 16:43:43 +01:00
2026-01-14 02:35:00 +01:00
2026-01-14 02:35:00 +01:00
2026-01-17 11:46:31 +01:00
2025-12-26 22:06:09 +01:00
2025-12-31 15:59:19 +01:00
2025-12-19 10:58:11 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-22 23:01:05 +01:00
2025-12-26 22:06:09 +01:00
2026-01-16 10:55:10 +01:00
2025-12-26 22:06:09 +01:00
2026-01-17 11:41:49 +01:00
2026-01-17 11:41:49 +01:00
2026-01-13 17:43:34 +01:00
2026-01-14 02:35:00 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-19 10:58:11 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-26 22:06:09 +01:00
2025-12-19 10:58:11 +01:00
2025-12-26 22:06:09 +01:00
2025-12-19 10:58:11 +01:00
2026-01-17 11:46:31 +01:00
2026-01-15 13:06:13 +01:00
2026-01-14 23:34:05 +01:00
2026-01-17 11:46:31 +01:00
2026-01-17 19:18:52 +01:00
2026-01-17 11:46:31 +01:00
2025-12-03 14:50:16 +01:00