tests: Add https-mtls server to force client auth

- test2088 verifies that mutual tls works

This adds a new certificate to generate which has the clientAuth key
usage enabled, and uses it to connect to a https-mtls server.

Closes #16923
This commit is contained in:
Yedaya Katsman 2025-04-03 21:51:32 +03:00 committed by Daniel Stenberg
parent 0f201d41d9
commit 8988f33f62
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
9 changed files with 134 additions and 19 deletions

View file

@ -253,7 +253,7 @@ test2056 test2057 test2058 test2059 test2060 test2061 test2062 test2063 \
test2064 test2065 test2066 test2067 test2068 test2069 test2070 test2071 \
test2072 test2073 test2074 test2075 test2076 test2077 test2078 test2079 \
test2080 test2081 test2082 test2083 test2084 test2085 test2086 test2087 \
\
test2088 \
test2100 test2101 \
\
test2200 test2201 test2202 test2203 test2204 test2205 \

55
tests/data/test2088 Normal file
View file

@ -0,0 +1,55 @@
<testcase>
<info>
<keywords>
HTTPS
HTTP GET
Client Auth
</keywords>
</info>
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 7
MooMoo
</data>
</reply>
#
# Client-side
<client>
<features>
SSL
!Schannel
!sectransp
!bearssl
local-http
</features>
<server>
https-mtls
</server>
<name>
HTTPS GET with client authentication (mtls)
</name>
<command>
--cacert %CERTDIR/certs/test-ca.crt --cert %CERTDIR/certs/test-client-cert.crt --key %CERTDIR/certs/test-client-cert.key https://localhost:%HTTPS-MTLSPORT/%TESTNUMBER
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
GET /%TESTNUMBER HTTP/1.1
Host: localhost:%HTTPS-MTLSPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
</verify>
</testcase>