Configuração e Erros do Java
O primeiro ponto a ser observado é que a versão do Java deve ser 1.8 mais recente (final acima de 300) ou Java Zulu 1.7 ou Zulu 1.8, veja no tópico “Configurando o Java do Tomcat/Webrun” como configurar a versão do Java.
Os erros mais comuns são:
- Erro de protocolo não suportado;
- Erro de tamanho da mensagem de Handshake.
Possíveis soluções para essas duas situações são apresentadas a seguir. Vale ressaltar que as instruções aqui descritas são mera cortesia, use por conta e risco.
IMPORTANTE: O suporte ao Java, instalação, configuração, atualização… Não faz parte do suporte às APIs, se necessário solicite suporte adicional. Os custos e disponibilidade de agenda desse serviço deve ser verificado no momento da contratação.
Erro de protocolo não suportado
Além disso, você deve observar a seguinte configuração quando aparecer um dos erros a seguir:
- javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
- javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
- Connection reset
Abra o arquivo java.security ([pasta do Java]\jre\lib\security\java.security ) no bloco de notas ou similar. Localize e comente (adicionando # no inicio da linha) as 3 linhas a seguir:
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize lessThan 1024, EC keySize lessThan 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
Salve o arquivo e reinicie o Tomcat ou a API no Agente para efetivar a alteração.
Observação: No Linux, a depender da distribuição, esta mesma configuração deve ser feitas em arquivos adicionais no ‘/etc/…’, por exemplo no Red Hat.
Referências
Essas instruções foram tiradas do seguinte vídeo (English):
Erro de tamanho da mensagem de Handshake
O servidor usa criptografia que pode exigir configuração adicional no Java do Webrun/Tomcat. O erro impede a conexão/comunicação e nos logs é retratado com a mensagem:
javax.net.ssl.SSLProtocolException: The size of the handshake message (X) exceeds the maximum allowed size (Y)
Para efetuar a configuração basta adicionar o parâmetro “jdk.tls.maxHandshakeMessageSize” com o valor “130702” na inicialização da JVM. Ficando a linha completa assim:
-Djdk.tls.maxHandshakeMessageSize=130702
Esta configuração é adicionada no final das demais, conforme apontado na imagem a seguir:
Referência
- https://support.oracle.com/knowledge/Middleware/2794333_1.html
- https://backstage.forgerock.com/knowledge/kb/article/a34021641