mirror of
https://github.com/curl/curl.git
synced 2026-04-15 00:01:41 +03:00
curl: support embedding a CA bundle
Add the ability to embed a CA bundle into the curl binary. It is used when no other runtime or build-time option set one. This helps curl-for-win macOS and Linux builds to run standalone, and also helps Windows builds to avoid picking up the CA bundle from an arbitrary (possibly world-writable) location (though this behaviour is not currently disablable). Usage: - cmake: `-DCURL_CA_EMBED=/path/to/curl-ca-bundle.crt` - autotools: `--with-ca-embed=/path/to/curl-ca-bundle.crt` - Makefile.mk: `CURL_CA_EMBED=/path/to/curl-ca-bundle.crt` Also add new command-line option `--dump-ca-embed` to dump the embedded CA bundle to standard output. Closes #14059
This commit is contained in:
parent
87aa4ebd82
commit
8a3740bc8e
26 changed files with 268 additions and 14 deletions
31
acinclude.m4
31
acinclude.m4
|
|
@ -1357,6 +1357,37 @@ AS_HELP_STRING([--without-ca-fallback], [Don't use the built in CA store of the
|
|||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl CURL_CHECK_CA_EMBED
|
||||
dnl -------------------------------------------------
|
||||
dnl Check if a ca-bundle should be embedded
|
||||
|
||||
AC_DEFUN([CURL_CHECK_CA_EMBED], [
|
||||
|
||||
AC_MSG_CHECKING([CA cert bundle path to embed])
|
||||
|
||||
AC_ARG_WITH(ca-embed,
|
||||
AS_HELP_STRING([--with-ca-embed=FILE],
|
||||
[Path to a file containing CA certificates (example: /etc/ca-bundle.crt)])
|
||||
AS_HELP_STRING([--without-ca-embed], [Don't embed a default CA bundle]),
|
||||
[
|
||||
want_ca_embed="$withval"
|
||||
if test "x$want_ca_embed" = "xyes"; then
|
||||
AC_MSG_ERROR([--with-ca-embed=FILE requires a path to the CA bundle])
|
||||
fi
|
||||
],
|
||||
[ want_ca_embed="unset" ])
|
||||
|
||||
CURL_CA_EMBED=''
|
||||
if test "x$want_ca_embed" != "xno" -a "x$want_ca_embed" != "xunset" -a -f "$want_ca_embed"; then
|
||||
CURL_CA_EMBED='"'$want_ca_embed'"'
|
||||
AC_SUBST(CURL_CA_EMBED)
|
||||
AC_MSG_RESULT([$want_ca_embed])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl CURL_CHECK_WIN32_LARGEFILE
|
||||
dnl -------------------------------------------------
|
||||
dnl Check if curl's WIN32 large file will be used
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue