Eu tenho um aplicativo baseado em java. Ele tenta conectar um servidor da web por meio de HTTPS. Mas, falha no primeiro passo do aperto de mão. Eu peguei o traço tcp. Eu também verifico conexão via navegador. O navegador se conecta com sucesso, até mesmo o Java falha. Eu também peguei o rastreamento do tcp. Eu verifiquei a diferença. Mesmo os dois usam TLSv1.2, suas mensagens "Client Hello" são diferentes. Java usa "SSL Record Layer", o navegador usa "TLSv1.2 Record Layer" para a mensagem "Client Hello".
Aqui, capturas de tela de tcp dumps.
e,mensagemdetalhadadopacotedejava
enavegador:
e,mensagemdetalhadadopacotedonavegador
Algumas informações de versões:
A versão Java é 8 (aplicativo de origem, trabalhando em 10.x.x.170) A aplicação Java está trabalhando no JBoss 6.4 (aplicativo de origem) Aplicativo Web funciona no IIS (Windows Server 2012, trabalhando em 10.x.x.171)
Pergunta: Como posso forçar o aplicativo java a usar o mesmo protocolo com o navegador (o navegador parece funcionar)?