
Uma alteração introduzida pela Microsoft na forma como o Windows 11 lida com o protocolo de segurança Transport Layer Security (TLS) 1.3 está a causar problemas inesperados a programadores que utilizam os serviços de informação da Internet (IIS e IIS Express), resultando em falhas na autenticação de certificados de cliente.
A mudança, que afeta as versões Windows 11 24H2 e Windows Server 2025, foi implementada com o objetivo de reforçar a segurança e o desempenho. No entanto, esta melhoria trouxe consigo um efeito secundário que está a complicar a vida a quem desenvolve e testa aplicações web em ambiente Windows.
Segurança e desempenho à custa da compatibilidade
Matt Hamrick, um funcionário da Microsoft, explicou no blogue da Microsoft Tech Community que a raiz do problema está no abandono de uma funcionalidade conhecida como "renegociação" no TLS 1.3. Segundo a gigante tecnológica, esta decisão foi tomada para garantir que a autenticação do cliente é sempre confidencial, ao mesmo tempo que reduz o número de trocas de informação e o consumo de CPU.
Essencialmente, a Microsoft tornou o processo mais rápido e seguro, mas sacrificou a compatibilidade com alguns cenários de utilização específicos, como os que dependem desta renegociação para validar certificados de cliente após o início de uma sessão segura.
O problema da "renegociação" no TLS 1.3
Em versões anteriores do protocolo, como o TLS 1.2, a renegociação permitia que um servidor iniciasse um segundo "aperto de mão" (handshake) dentro de uma sessão encriptada já existente para solicitar um certificado ao cliente. No Windows, este processo é gerido pelo controlador http.sys em conjunto com o pacote de segurança Schannel, e o IIS só assume o controlo após a conclusão deste processo.
Com a chegada do TLS 1.3, a renegociação deixou de ser permitida. Embora exista uma alternativa designada como "autenticação de cliente pós-handshake", a Microsoft nota que a maioria dos clientes, incluindo os principais navegadores de internet, não implementaram esta funcionalidade.
O resultado é que, a menos que o certificado de cliente seja solicitado logo no handshake inicial, não pode ser obtido mais tarde. Nas versões mais recentes do Windows 11, o http.sys devolve um erro de "não suportado", levando o IIS a apresentar uma resposta de erro HTTP 500 ao utilizador.
Soluções temporárias para contornar o problema
Até ao final de agosto de 2025, a Microsoft ainda não anunciou uma correção definitiva para o IIS Express, e o próprio Matt Hamrick admitiu não ter a certeza se existirá uma solução e como será implementada.
Felizmente, foram partilhadas algumas soluções alternativas para os developers afetados:
Desativar o TLS 1.3 para as sessões de entrada.
Modificar as configurações do
http.sysatravés do comandonetshpara solicitar os certificados durante o handshake inicial.Remover os requisitos de certificado de cliente das configurações da aplicação.
Para contextualizar, o IIS é o servidor web completo da Microsoft para alojar sites e aplicações no Windows, enquanto o IIS Express é uma versão mais leve e otimizada para ambientes de desenvolvimento e teste, não exigindo privilégios de administrador para muitas das suas tarefas.










Nenhum comentário
Seja o primeiro!