]> git.ipfire.org Git - thirdparty/curl.git/commit
spnego_gssapi: implement TLS channel bindings for openssl
authorMax Faxälv <max.faxalv@sony.com>
Thu, 29 Feb 2024 08:12:59 +0000 (09:12 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 12 Aug 2024 17:16:54 +0000 (19:16 +0200)
commit0a5ea09a910e7883fd7a1c333e8a36fc782fe537
tree096902d9170fcaedee86a200cecaade05956e15e
parent9dfdc6ff42ba045ec48056bb6d2072f2fcac2e9d
spnego_gssapi: implement TLS channel bindings for openssl

Channel Bindings are used to tie the session context to a specific TLS
channel. This is to provide additional proof of valid identity,
mitigating authentication relay attacks.

Major web servers have the ability to require (None/Accept/Require)
GSSAPI channel binding, rendering Curl unable to connect to such
websites unless support for channel bindings is implemented.

IIS calls this feature Extended Protection (EPA), which is used in
Enterprise environments using Kerberos for authentication.

This change require krb5 >= 1.19, otherwise channel bindings won't be
forwarded through SPNEGO.

Co-Authored-By: Steffen Kieß <947515+steffen-kiess@users.noreply.github.com>
Closes #13098
14 files changed:
lib/http_negotiate.c
lib/urldata.h
lib/vauth/spnego_gssapi.c
lib/vtls/bearssl.c
lib/vtls/gtls.c
lib/vtls/mbedtls.c
lib/vtls/openssl.c
lib/vtls/rustls.c
lib/vtls/schannel.c
lib/vtls/sectransp.c
lib/vtls/vtls.c
lib/vtls/vtls.h
lib/vtls/vtls_int.h
lib/vtls/wolfssl.c