Bekerja dengan TLS di SDK for Java - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bekerja dengan TLS di SDK for Java

AWS SDK for Java Menggunakan kemampuan TLS dari platform Java yang mendasarinya. Dalam topik ini, kami menunjukkan contoh menggunakan implementasi OpenJDK yang digunakan oleh Amazon Corretto 17.

Untuk bekerja dengan Layanan AWS, JDK yang mendasarinya harus mendukung versi minimum TLS 1.2, tetapi TLS 1.3 direkomendasikan.

Pengguna harus berkonsultasi dengan dokumentasi platform Java yang mereka gunakan dengan SDK untuk mengetahui versi TLS mana yang diaktifkan secara default serta cara mengaktifkan dan menonaktifkan versi TLS tertentu.

Cara memeriksa informasi versi TLS

Menggunakan OpenJDK, kode berikut menunjukkan penggunaan SSLContext untuk mencetak versi TLS/SSL mana yang didukung.

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

Misalnya, Amazon Corretto 17 (OpenJDK) menghasilkan output berikut.

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

Untuk melihat jabat tangan SSL beraksi dan versi TLS apa yang digunakan, Anda dapat menggunakan properti sistem javax.net.debug.

Misalnya, jalankan aplikasi Java yang menggunakan TLS.

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

Aplikasi mencatat jabat tangan SSL yang mirip dengan yang berikut ini.

... 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", ...

Menerapkan versi TLS minimum

SDK for Java selalu lebih menyukai versi TLS terbaru yang didukung oleh platform dan layanan. Jika Anda ingin menerapkan versi TLS minimum tertentu, lihat dokumentasi platform Java Anda.

Untuk JVM berbasis OpenJDK, Anda dapat menggunakan properti sistem. jdk.tls.client.protocols

Misalnya, jika Anda ingin klien layanan SDK dalam aplikasi Anda menggunakan TLS 1.2, meskipun TLS 1.3 tersedia, berikan properti sistem berikut.

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

AWS Upgrade titik akhir API ke TLS 1.2

Lihat posting blog ini untuk informasi tentang titik akhir AWS API yang pindah ke TLS 1.2 untuk versi minimum.