Lavorare con TLS in for Java SDK - AWS SDK for Java 2.x

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Lavorare con TLS in for Java SDK

AWS SDK for Java Utilizza le TLS funzionalità della piattaforma Java sottostante. In questo argomento, mostriamo esempi di utilizzo dell'JDKimplementazione Open utilizzata da Amazon Corretto 17.

Per utilizzarla Servizi AWS, la versione sottostante JDK deve supportare una versione minima di TLS 1.2, ma è consigliata la TLS 1.3.

Gli utenti devono consultare la documentazione della piattaforma Java con cui stanno utilizzando SDK per scoprire quali TLS versioni sono abilitate di default e come abilitare e disabilitare TLS versioni specifiche.

Come controllare le informazioni sulla TLS versione

Utilizzando OpenJDK, il codice seguente mostra l'uso di SSLContextper stampare quali SSL versioni diTLS/sono supportate.

System.out.println(Arrays.toString(SSLContext.getDefault().getSupportedSSLParameters().getProtocols()));

Ad esempio, Amazon Corretto 17 (OpenJDK) produce il seguente output.

[TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello]

Per vedere l'SSLhandshake in azione e quale versione di TLS viene utilizzata, puoi usare la proprietà di sistema javax.net.debug.

Ad esempio, esegui un'applicazione Java che utilizza. TLS

java app.jar -Djavax.net.debug=ssl:handshake

L'applicazione registra l'SSLhandshake in modo simile al seguente.

... javax.net.ssl|DEBUG|10|main|2022-12-23 13:53:12.221 EST|ClientHello.java:641|Produced ClientHello handshake message ( "ClientHello": { "client version" : "TLSv1.2", ... javax.net.ssl|DEBUG|10|main|2022-12-23 13:53:12.295 EST|ServerHello.java:888|Consuming ServerHello handshake message ( "ServerHello": { "server version" : "TLSv1.2", ...

Applica una versione minima TLS

The SDK for Java preferisce sempre l'ultima TLS versione supportata dalla piattaforma e dal servizio. Se desideri applicare una TLS versione minima specifica, consulta la documentazione della tua piattaforma Java.

Per Open JDK basedJVMs, è possibile utilizzare la proprietà jdk.tls.client.protocols di sistema.

Ad esempio, se desiderate che i client di SDK servizio dell'applicazione utilizzino la versione TLS 1.2, anche se la versione TLS 1.3 è disponibile, fornite la seguente proprietà di sistema.

java app.jar -Djdk.tls.client.protocols=TLSv1.2

AWS APIgli endpoint vengono aggiornati alla versione 1.2 TLS

Consulta questo post di blog per informazioni sul passaggio AWS API degli endpoint alla TLS versione minima 1.2.