[PATCH] Schannel: Reject certificate not signed by a configured CA certificate
authorMårten Nordheim <marten.nordheim@qt.io>
Wed, 10 May 2023 14:43:41 +0000 (16:43 +0200)
committerPatrick Franz <deltaone@debian.org>
Fri, 22 Dec 2023 15:11:45 +0000 (16:11 +0100)
commit039e4941aa6e5909c5313696b333b1cbab40d3a1
tree0f6ee7e5baf0253986b7214b8253413b7731282d
parent6ceb47f8cd636472a4632f326a2c9a930ec7eb9c
[PATCH] Schannel: Reject certificate not signed by a configured CA certificate

Not entirely clear why, but when building the certificate chain for a
peer the system certificate store is searched for root certificates.
General expectation is that after calling
`sslConfiguration.setCaCertificates()` the system certificates will
not be taken into consideration.

To work around this behavior, we do a manual check that the root of the
chain is part of the configured CA certificates.

Pick-to: 6.5 6.2 5.15
Change-Id: I03666a4d9b0eac39ae97e150b4743120611a11b3
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Gbp-Pq: Name cve-2023-34410-ada2c57.diff
src/plugins/tls/schannel/qtls_schannel.cpp
tests/manual/network/ssl/client-auth/CMakeLists.txt [new file with mode: 0644]
tests/manual/network/ssl/client-auth/certs/.gitignore [new file with mode: 0644]
tests/manual/network/ssl/client-auth/certs/accepted-client.conf [new file with mode: 0644]
tests/manual/network/ssl/client-auth/certs/generate.sh [new file with mode: 0755]
tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp [new file with mode: 0644]