Rumah >Java >javaTutorial >Mengapa Saya Mendapat Makluman Jabat Tangan SSL 'Nama_Tidak Dikenali' Selepas Menaik taraf kepada Java 1.7?

Mengapa Saya Mendapat Makluman Jabat Tangan SSL 'Nama_Tidak Dikenali' Selepas Menaik taraf kepada Java 1.7?

Patricia Arquette
Patricia Arquetteasal
2024-12-23 10:00:25183semak imbas

Why Do I Get an

SSL Handshake Alert: "Unrecognized_Name" Ralat Selepas Menaik taraf ke Java 1.7.0

Dengan peningkatan ke Java 1.7, pengguna telah menghadapi ralat "unrecognized_name" semasa membuat sambungan HTTPS. Isu ini berpunca daripada pengenalan sokongan Petunjuk Nama Pelayan (SNI) dalam Java 7, didayakan secara lalai.

Punca

Pelayan tersalah konfigurasi mengeluarkan "Nama Tidak Dikenali" amaran semasa jabat tangan SSL. Malangnya, Java ialah salah satu daripada segelintir pelanggan yang gagal mengabaikan amaran ini.

Penyelesaian

Untuk menangani isu ini, pengguna boleh melumpuhkan sokongan SNI menggunakan:

java -Djsse.enableSNIExtension=false yourClass

Sebagai alternatif, mereka boleh menetapkan harta dalam Java mereka kod:

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

Nota: Sifat ini mesti ditetapkan sebelum melakukan sebarang tindakan SSL, kerana menukarnya selepas itu tidak akan memberi kesan pada status SNI.

Penyelesaian Hibrid untuk Pemeliharaan SNI

Jika melumpuhkan SNI sama sekali tidak boleh dilaksanakan, pertimbangkan pendekatan hibrid berikut:

  1. Buat SSLSocket dengan nama hos yang diingini dan cuba jabat tangan.
  2. Jika pengecualian "unrecognized_name" ditemui, cuba semula tanpa menyatakan nama hos untuk melumpuhkan SNI.
  3. Pendekatan ini membenarkan penggunaan SNI dengan sandaran untuk pelayan tersalah konfigurasi.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Makluman Jabat Tangan SSL 'Nama_Tidak Dikenali' Selepas Menaik taraf kepada Java 1.7?. 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