Rumah >Java >javaTutorial >Mengapa Saya Mendapat Ralat Jabat Tangan SSL 'Nama Tidak Dikenali' Selepas Menaik taraf kepada Java 1.7.0?

Mengapa Saya Mendapat Ralat Jabat Tangan SSL 'Nama Tidak Dikenali' Selepas Menaik taraf kepada Java 1.7.0?

DDD
DDDasal
2024-12-12 18:51:10884semak imbas

Why Am I Getting an

Makluman Jabat Tangan SSL: Ralat Nama Tidak Dikenali Pasca Peningkatan Java 1.7.0

Dengan peningkatan ke Java 1.7.0, pengguna telah menghadapi ralat "Nama Tidak Dikenali" semasa jabat tangan SSL. Ralat ini berpunca daripada pembolehan lalai Java 7 bagi sokongan Petunjuk Nama Pelayan (SNI).

Walau bagaimanapun, pelayan tersalah konfigurasi tertentu bertindak balas terhadap ciri ini dengan ralat yang disebutkan di atas, yang membawa kepada pengendalian Java terhadapnya menjadi halangan.

Penyelesaian Penyelesaian:

1. Lumpuhkan Sambungan SNI:

Untuk memintas isu ini buat sementara waktu, laksanakan aplikasi anda dengan arahan berikut:

java -Djsse.enableSNIExtension=false yourClass

Sebagai alternatif, tetapkan harta dalam kod Java sebelum sebarang operasi SSL:

System.setProperty("jsse.enableSNIExtension", "false");

Perhatikan bahawa kaedah ini melumpuhkan fungsi SNI secara global.

2. Pendekatan Hibrid (Mendayakan SNI Semasa Mengendalikan Salah Konfigurasi):

Untuk menggunakan SNI semasa menampung pelayan yang salah konfigurasi, laksanakan langkah berikut:

  1. Buat SSLSocket dengan nama hos yang dimaksudkan (sslsock ).
  2. Laksanakan sslsock.startHandshake(). Jika sambungan menemui ralat "Nama Tidak Dikenali", teruskan ke langkah 3.
  3. Cuba semula membuka SSLSocket baharu tanpa nama hos, melumpuhkan SNI dengan berkesan.

Pelaksanaan Proksi Webcarab :

Pendekatan ini telah dilaksanakan dalam proksi SSL Webscarab untuk mengendalikan isu ini dengan berkesan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Jabat Tangan SSL 'Nama Tidak Dikenali' Selepas Menaik taraf kepada Java 1.7.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn