IIS Express kampt op Windows 11 met compatibiliteitsproblemen zodra TLS 1.3 wordt gebruikt, vooral wanneer clientcertificaten in het spel zijn.
Het probleem raakt ontwikkelaars die de lightweight webserver inzetten om applicaties lokaal te testen en valideren. Microsoft heeft erkend dat de fout voorkomt, maar de kans is groot dat er nog geen structurele oplossing komt.
TLS 1.3 biedt betere beveiliging en prestaties dan zijn voorganger TLS 1.2, maar laat een belangrijk onderdeel achterwege: renegotiation. Die functionaliteit werd door servers zoals IIS Express gebruikt om pas na de initiële handshake een clientcertificaat op te vragen. Doordat TLS 1.3 dit mechanisme niet ondersteunt, loopt IIS Express vast bij mTLS-configuraties. Voor Windows 11-versies van vóór 24H2 en voor Windows Server 2022 resulteert dit in een verbroken verbinding met foutmelding ERR_CONNECTION_RESET. Op Windows 11 24H2 en Windows Server 2025 komt daar een HTTP 500-fout bij kijken met de code 0x80070032, wat simpelweg “not supported” betekent.
Drie tijdelijke oplossingen
Microsoft wijst op drie tijdelijke oplossingen die ontwikkelaars kunnen toepassen. Het uitschakelen van TLS 1.3 via het Windows-register is de meest directe route, al heeft dat gevolgen voor alle applicaties op het systeem en valt men terug op TLS 1.2. Een andere optie is het aanpassen van de http.sys-binding via het commando netsh, waardoor het clientcertificaat tijdens de initiële handshake wordt opgevraagd. Ook het verwijderen van de clientcertificaatverplichting uit de configuratie behoort tot de mogelijkheden, maar dat is vooral geschikt voor ontwikkelomgevingen.
Volgens berichtgeving van Neowin heeft een Microsoft-medewerker inmiddels aangegeven niet te weten of er ooit een officiële fix komt en hoe die er in dat geval uit zou moeten zien. TLS 1.3 kent in theorie wel een alternatieve methode, namelijk post-handshake client-authenticatie, maar die wordt door de meeste browsers niet ondersteund. Daarbij komt dat IIS en IIS Express zijn gebaseerd op de http.sys-kerneldriver van Windows. Deze laag handelt de TLS-onderhandeling volledig af voordat IIS zelf in beeld komt, waardoor het probleem feitelijk in de architectuur van het onderliggende systeem zit.
De kans dat ontwikkelaars in de nabije toekomst een permanente oplossing krijgen, lijkt daarmee klein. Voorlopig zijn zij aangewezen op workarounds die afhankelijk van de situatie meer of minder geschikt zijn. Wie TLS 1.3 in combinatie met IIS Express wil blijven gebruiken, zal dus compromissen moeten sluiten.