Nesta página, explicamos como configurar o TLS 1.3 nos processadores de mensagens da Apigee para tráfego no sentido sul. (tráfego entre o processador de mensagens e o servidor de back-end).
Para saber mais sobre o recurso TLS 1.3 em Java, consulte Notas de lançamento do JDK 8u261 Update.
O procedimento para ativar o TLS 1.3 depende da versão do Java que você está usando. Consulte Confira abaixo a versão do Java em um processador de mensagens no processador de mensagens.
Versões TLS v1.3 e Java
O recurso TLS 1.3 foi introduzido nestas versões do Java:
- Oracle JDK 8u261
- OpenJDK 8u272
Nas seguintes versões do Java, o recurso TLS v1.3 existe, mas não está ativado por padrão em funções de cliente:
- Oracle JDK 8u261 ou mais recente, mas menor que o Oracle JDK 8u341
- OpenJDK 8u272 ou posterior, mas menor que o OpenJDK 8u352
Se você estiver usando uma dessas versões, será necessário ativar o TLS v1.3, conforme descrito em Como ativar o TLS v1.3 quando ele não está ativado por padrão.
Se você estiver usando uma das versões a seguir, o TLS v1.3 já estará ativado por padrão em funções de cliente (o processador de mensagens atua como um cliente para conexões TLS no sentido sul, então não é necessário fazer nada:
- Oracle JDK 8u341 ou mais recente
- OpenJDK 8u352 ou mais recente
Para o TLS v1.3 funcionar, todos os itens a seguir precisam ser verdadeiros:
- O Java subjacente no processador de mensagens precisa oferecer suporte a TLS v1.3.
- O TLS v1.3 deve estar ativado em Java no processador de mensagens.
- O TLS v1.3 precisa estar ativado no aplicativo Processador de mensagens.
Como ativar o TLS v1.3 em Java quando ele não está ativado por padrão.
Esta seção explica como ativar o TLS v1.3 caso você use uma das seguintes opções do Java:
- Oracle JDK 8u261 ou mais recente, mas menor que o Oracle JDK 8u341
- OpenJDK 8u272 ou posterior, mas menor que o OpenJDK 8u352
No processador de mensagens, defina a propriedade Java jdk.tls.client.protocols
.
Os valores são separados por vírgula e podem conter um ou mais de
TLSv1
, TLSv1.1
, TLSv1.2
, TLSv1.3
e
SSLv3
.
Por exemplo, definir -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3
ativa o
protocolos TLSv1.2
e TLSv1.3
.
Consulte Alterar outros propriedades da JVM para aprender a definir propriedades da JVM em um componente do Edge.
Para ativar os protocolos TLS v1, v1.1, v1.2 e v1.3:
- Defina a seguinte configuração em
o arquivo de configuração do processador de mensagens
(
/opt/apigee/customer/application/message-processor.properties
):bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
- Reinicie o processador de mensagens.
Como desativar o TLS v1.3 quando ele está ativado por padrão
Se estiver usando o Oracle JDK 8u341 ou posterior ou o OpenJDK 8u352 ou posterior, o TLSv1.3 é ativado pelo padrão para clientes. Para desativar o TLS v1.3 nesses casos, há duas opções:
- Configure o SSLInfo do servidor de destino e certifique-se de que TLSv1.3 não seja mencionado na lista de protocolos. Consulte Elementos de configuração do TargetEndpoint TLS/SSL. Observação: se nenhum protocolo for especificado na configuração do servidor de destino, o com suporte em Java serão enviados como opções no handshake do cliente.
- Desative o TLS v1.3 no processador de mensagens desativando o protocolo completamente. Consulte Defina o protocolo TLS no processador de mensagens.
Verificar a versão do Java em um processador de mensagens
Para verificar a versão do Java instalada em um processador de mensagens, faça login no processador de mensagens nó e execute o seguinte comando:
java -version
O exemplo de saída abaixo mostra que o OpenJDK 8u312 está instalado.
$ java -version openjdk version "1.8.0_312" OpenJDK Runtime Environment (build 1.8.0_312-b07) OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
Criptografias compatíveis
No momento, o Java 8 é compatível com duas criptografias TLS v1.3:
- TLS_AES_256_GCM_SHA384
- TLS_AES_128_GCM_SHA256
É possível usar openssl
para verificar se o servidor de destino oferece suporte ao TLS v1.3 e a pelo menos um dos
criptografias acima usando abaixo. Observe que esse exemplo usa o utilitário openssl11
, que tem
TLS v1.3 ativado.
$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3