Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle Database TLS1.2 / koneksi SSL menggunakan JDBC tipis dan JKS

Berikut adalah langkah-langkah yang harus diikuti untuk mengonfigurasi thin driver Oracle JDBC agar terhubung ke Database menggunakan TLS v1.2 (dengan asumsi konfigurasi Database Anda benar).

Langkah 1:Terapkan tambalan untuk bug 19030178 (tidak diperlukan mulai dari 12.2.0.1)

Anda perlu menerapkan tambalan untuk bug 19030178 yang memungkinkan TLSv1.2. Perhatikan bahwa tambalan mengizinkan TLSv1.2 tetapi tidak mengaktifkannya secara default. Jadi dengan driver yang ditambal 12.1.0.2 Anda juga perlu mengatur oracle.net.ssl_version='1.2'. Properti ini dapat disetel sebagai properti sistem (menggunakan -D) atau melalui properti sumber data.

Langkah 2:Instal file JCE

Tanpa file Java Cryptography Extension (JCE), rangkaian sandi yang kuat (misalnya TLS_RSA_WITH_AES_256_CBC_SHA256) tidak akan diaktifkan. Jadi, apakah Anda menggunakan JDK7 atau JDK8, Anda harus menginstal File Kebijakan Yurisdiksi Kekuatan Tak Terbatas JCE. File-file ini dapat ditemukan di situs web Oracle.

Langkah 3:Selalu gunakan pembaruan JDK terbaru

Pastikan untuk menggunakan pembaruan terbaru JDK7 atau JDK8 karena bug yang diperlukan untuk TLSv1.2 telah diperbaiki.

Langkah 4:Gunakan file JKS sebagai ganti dompet

Sepertinya Anda sudah melakukannya tetapi hanya untuk dilihat orang lain:dompet rumit untuk dikonfigurasi dan digunakan dengan driver tipis Oracle JDBC karena memerlukan stoples ekstra dan properti ekstra. File JKS di sisi lain didukung secara native di JRE dan, menurut pengalaman saya, selalu bekerja dengan baik.

Langkah 5:Saat menggunakan JDK7, aktifkan rangkaian sandi yang kuat secara eksplisit

Langkah ini tidak diperlukan saat menggunakan JDK8. Dengan JDK7, jika Anda menggunakan rangkaian sandi yang kuat seperti TLS_RSA_WITH_AES_256_CBC_SHA256, maka Anda harus mengaktifkannya melalui properti koneksi oracle.net.ssl_cipher_suites.

Langkah 6:Debug dengan -Djavax.net.debug=all

Terakhir, jika Anda mengalami lebih banyak masalah, Anda dapat mengaktifkan pelacakan untuk mengetahui apa yang terjadi menggunakan -Djavax.net.debug=all.

====CONTOH DENGAN JDK7 DAN DRIVER TIPIS 12.1.0.2 PATCHED =====

java  -Doracle.net.ssl_version='1.2' -Doracle.net.ssl_cipher_suites='(TLS_RSA_WITH_AES_256_CBC_SHA256)' -Doracle.net.ssl_server_dn_match='true' -Djavax.net.ssl.trustStore='truststore.jks' -Djavax.net.ssl.trustStorePassword='welcome1' -Djavax.net.ssl.keyStore='keystore.jks' -Djavax.net.ssl.keyStorePassword='welcome1'  JDBCTest 'jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=host)(PORT=1522))(CONNECT_DATA=(SERVICE_NAME=myservice))(security=(ssl_server_cert_dn="CN=name,O=org,L=city,ST=state,C=country")))' 'pdb1' 'welcome1'

====CONTOH DENGAN JDK8 DAN DRIVER TIPIS 12.1.0.2 PATCH =====

java -Doracle.net.ssl_version='1.2' -Doracle.net.ssl_server_dn_match='true' -Djavax.net.ssl.trustStore='truststore.jks' -Djavax.net.ssl.trustStorePassword='welcome1' -Djavax.net.ssl.keyStore='keystore.jks' -Djavax.net.ssl.keyStorePassword='welcome1'  JDBCTest 'jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=host)(PORT=1522))(CONNECT_DATA=(SERVICE_NAME=myservice))(security=(ssl_server_cert_dn="CN=name,O=org,L=city,ST=state,C=country")))' 'pdb1' 'welcome1'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle REGEXP_LIKE dan batasan kata

  2. Mencegah Drop Table Pada Skema Target Di Oracle Streams

  3. Menggunakan Dapper dengan prosedur tersimpan Oracle yang mengembalikan kursor

  4. Bagaimana cara menggulung ke file berformat CSV menggunakan SQLPLUS?

  5. Format Tanggal SQL