]> git.ipfire.org Git - thirdparty/curl.git/commit
schannel: Disable auto credentials; add an option to enable it
authorJay Satiro <raysatiro@yahoo.com>
Sat, 27 Feb 2021 21:27:31 +0000 (16:27 -0500)
committerJay Satiro <raysatiro@yahoo.com>
Thu, 22 Apr 2021 20:53:37 +0000 (16:53 -0400)
commit54e747501626b81149b1b44949119d365db82004
tree6c89f73c8eb7bbb96877a83e27b3b3916d5534e7
parente4ba999646ed7a974813ecf8405651d300554eba
schannel: Disable auto credentials; add an option to enable it

- Disable auto credentials by default. This is a breaking change
  for clients that are using it, wittingly or not.

- New libcurl ssl option value CURLSSLOPT_AUTO_CLIENT_CERT tells libcurl
  to automatically locate and use a client certificate for
  authentication, when requested by the server.

- New curl tool options --ssl-auto-client-cert and
  --proxy-ssl-auto-client-cert map to CURLSSLOPT_AUTO_CLIENT_CERT.

This option is only supported for Schannel (the native Windows SSL
library). Prior to this change Schannel would, with no notification to
the client, attempt to locate a client certificate and send it to the
server, when requested by the server. Since the server can request any
certificate that supports client authentication in the OS certificate
store it could be a privacy violation and unexpected.

Fixes https://github.com/curl/curl/issues/2262
Reported-by: Jeroen Ooms
Assisted-by: Wes Hinsley
Assisted-by: Rich FitzJohn
Ref: https://curl.se/mail/lib-2021-02/0066.html
Reported-by: Morten Minde Neergaard
Closes https://github.com/curl/curl/pull/6673
20 files changed:
docs/TODO
docs/cmdline-opts/Makefile.inc
docs/cmdline-opts/proxy-ssl-auto-client-cert.d [new file with mode: 0644]
docs/cmdline-opts/ssl-auto-client-cert.d [new file with mode: 0644]
docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
docs/libcurl/symbols-in-versions
docs/options-in-versions
include/curl/curl.h
lib/doh.c
lib/setopt.c
lib/urldata.h
lib/vtls/schannel.c
packages/OS400/curl.inc.in
src/tool_cfgable.h
src/tool_getparam.c
src/tool_help.c
src/tool_operate.c
src/tool_setopt.c
src/tool_setopt.h