Erro 12029 ao utilizar Delphi com Kinvey
Situação: Servidor de aplicação desenvolvido em Delphi (Berlin), usando o Kinvey para envio de Push Notifications para celulares Android e iOS.
Problema: De uma hora para outra, não foi mais possível enviar as notificações. O erro retornado era “REST request failed: Error sending data (12029). Uma conexão com o servidor não pode ser estabelecida“.
Ambiente: Windows Server 2012 (100% atualizado através do Windows Update)
Para encurtar a história, depois de muito bater a cabeça, descobri que o problema estava no fato do servidor de aplicação não conseguir conectar o Kinvey usando TLS 1.2. Obs: Nas configurações de Internet do Windows, TLS 1.1 e 1.2 estavam ativas.
Aparentemente o Kinvey passou a exigir TLS 1.2 nas conexões (não sei exatamente em que data isso se tornou obrigatório, possivelmente em 04/Setembro/2018). Olhando nas DLLs carregadas pela aplicação Delphi, percebi que ela faz uso do WinHttp para comunicação. Sendo assim, vasculhando a internet, encontrei esse artigo, da própria Microsoft: Atualização para ativar o TLS 1.1 e o TLS 1.2 como um protocolos de segurança padrão no WinHTTP no Windows.
Após instalar o EasyFix do link acima, tudo voltou a funcionar!
Fica a dica, e também a reclamação do “por que” o WindowsUpdate não ter instalado isso por padrão!