curl/docs
Dan McNulty 8996300211 schannel: add support for CURLOPT_CAINFO
- Move verify_certificate functionality in schannel.c into a new
  file called schannel_verify.c. Additionally, some structure defintions
  from schannel.c have been moved to schannel.h to allow them to be
  used in schannel_verify.c.

- Make verify_certificate functionality for Schannel available on
  all versions of Windows instead of just Windows CE. verify_certificate
  will be invoked on Windows CE or when the user specifies
  CURLOPT_CAINFO and CURLOPT_SSL_VERIFYPEER.

- In verify_certificate, create a custom certificate chain engine that
  exclusively trusts the certificate store backed by the CURLOPT_CAINFO
  file.

- doc updates of --cacert/CAINFO support for schannel

- Use CERT_NAME_SEARCH_ALL_NAMES_FLAG when invoking CertGetNameString
  when available. This implements a TODO in schannel.c to improve
  handling of multiple SANs in a certificate. In particular, all SANs
  will now be searched instead of just the first name.

- Update tool_operate.c to not search for the curl-ca-bundle.crt file
  when using Schannel to maintain backward compatibility. Previously,
  any curl-ca-bundle.crt file found in that search would have been
  ignored by Schannel. But, with CAINFO support, the file found by
  that search would have been used as the certificate store and
  could cause issues for any users that have curl-ca-bundle.crt in
  the search path.

- Update url.c to not set the build time CURL_CA_BUNDLE if the selected
  SSL backend is Schannel. We allow setting CA location for schannel
  only when explicitly specified by the user via CURLOPT_CAINFO /
  --cacert.

- Add new test cases 3000 and 3001. These test cases check that the first
  and last SAN, respectively, matches the connection hostname. New test
  certificates have been added for these cases. For 3000, the certificate
  prefix is Server-localhost-firstSAN and for 3001, the certificate
  prefix is Server-localhost-secondSAN.

- Remove TODO 15.2 (Add support for custom server certificate
  validation), this commit addresses it.

Closes https://github.com/curl/curl/pull/1325
2018-04-18 03:59:47 -04:00
..
cmdline-opts schannel: add support for CURLOPT_CAINFO 2018-04-18 03:59:47 -04:00
examples all: Refactor malloc+memset to use calloc 2018-04-15 03:00:37 -04:00
libcurl schannel: add support for CURLOPT_CAINFO 2018-04-18 03:59:47 -04:00
.gitignore gitignore: Ignore man page dist files 2017-03-07 23:27:31 +01:00
BINDINGS.md spelling fixes 2018-02-23 23:29:01 +00:00
BUGS BUGS: updated link to security process 2018-03-12 00:34:33 +01:00
CHECKSRC.md checksrc: Fix typo 2018-04-15 03:05:45 -04:00
CIPHERS.md docs/comments: Update to secure URL versions 2017-08-08 21:41:07 +02:00
CMakeLists.txt cmake: add support for building HTML and PDF docs 2017-03-21 14:49:53 +01:00
CODE_OF_CONDUCT.md docs: Update to secure URL versions 2017-09-04 14:08:54 +00:00
CODE_STYLE.md CODE_STYLE.md: link to INTERNALS.md correctly 2016-11-09 09:56:13 +01:00
CONTRIBUTE.md CONTRIBUTE.md: mention the out-of-tree build test too 2017-06-22 10:31:03 +02:00
curl-config.1 curl-config: add --ssl-backends 2017-12-06 00:12:48 +01:00
FAQ FAQ: fix a broken URL [ci skip] 2018-03-12 18:17:05 +00:00
FEATURES LDAP: documentation update per #878 changes (#1506) 2017-05-24 01:03:29 +03:00
HELP-US.md HELP-US: rename the subtitle too since the label is changed 2017-10-27 11:19:44 +02:00
HISTORY.md HISTORY: added some recent items 2017-09-07 09:51:25 +02:00
HTTP2.md docs: Spelling fixes 2016-11-15 15:41:45 +01:00
HTTP-COOKIES.md
INSTALL INSTALL: converted to markdown => INSTALL.md 2016-10-21 15:57:29 +02:00
INSTALL.cmake cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
INSTALL.md docs/examples: demonstrate how to select SSL backends 2017-08-28 14:56:59 +02:00
INTERNALS.md INTERNALS: we may use libidn2 now, not libidn 2017-11-14 12:47:04 +01:00
KNOWN_BUGS Revert "KNOWN_BUGS: 2.5 curl should not offer "ALPN: h2" when using https-proxy" 2018-02-15 22:47:49 +01:00
LICENSE-MIXING.md docs: Spelling fixes 2016-11-15 15:41:45 +01:00
MAIL-ETIQUETTE spelling fixes 2018-02-23 23:29:01 +00:00
Makefile.am docs/SECURITY.md -> docs/SECURITY-PROCESS.md 2018-03-11 23:41:50 +01:00
MANUAL docs/MANUAL: formfind.pl is not accessible on the site anymore 2018-02-26 20:12:23 +01:00
mk-ca-bundle.1 docs/comments: Update to secure URL versions 2017-08-08 21:41:07 +02:00
README.cmake
README.md docs: improved language in README.md HISTORY.md CONTRIBUTE.md 2017-01-14 16:02:33 +01:00
README.netware docs: we no longer ship HTML versions of man pages 2017-01-29 11:11:19 +01:00
README.win32 docs: we no longer ship HTML versions of man pages 2017-01-29 11:11:19 +01:00
RELEASE-PROCEDURE RELEASE-PROCEDURE: update the release schedule 2017-10-04 09:03:04 +02:00
RESOURCES RESOURCES: update spec names 2017-12-04 09:15:39 +01:00
ROADMAP.md ROADMAP: cleanup 2017-10-28 10:54:20 +02:00
SECURITY-PROCESS.md SECURITY-PROCESS: mention how we write/add advisories 2018-03-14 14:20:24 +01:00
SSL-PROBLEMS.md docs-make: have markdown files use .md 2016-08-09 14:47:20 +02:00
SSLCERTS.md SSLCERTS.md: mention HTTPS proxies and their separate options 2017-03-16 23:00:24 +01:00
THANKS release: 7.59.0 2018-03-13 23:06:58 +01:00
THANKS-filter RELEASE-NOTES: synced 2018-04-06 15:52:19 +02:00
TheArtOfHttpScripting TheArtOfHttpScripting: grammar 2017-01-05 01:52:32 -05:00
TODO schannel: add support for CURLOPT_CAINFO 2018-04-18 03:59:47 -04:00
VERSIONS

curl logo

Documentation

You'll find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.

If you'd rather see the rendered version of the documentation, check out the curl web site's documentation section for general curl stuff or the libcurl section for libcurl related documentation.