Memahami "Amaran maut yang diterima: handshake_failure melalui SSLHandshakeException" Ralat dalam Sambungan SSL
Ralat kegagalan jabat tangan dalam sambungan SSL boleh timbul disebabkan oleh pelbagai faktor:
Potensi Punca:
-
Suit Cipher Tidak Padan: Pelanggan dan pelayan mungkin tidak menggunakan suite sifir yang serasi, yang memerlukan pelanggan melaraskan atau mendayakan satu yang disokong oleh pelayan.
-
Ketidakserasian Versi: Pelayan dan klien mungkin beroperasi dengan versi SSL yang berbeza, yang berpotensi membawa kepada ketidakpadanan versi. Pelanggan harus memastikan keserasian dengan versi pelayan.
-
Laluan Amanah Sijil Tidak Lengkap: Sijil pelayan mungkin tidak dipercayai oleh pelanggan, kerana CA yang mengeluarkannya tiada di kedai amanah pelanggan. Untuk menyelesaikan masalah ini, sijil CA pelayan harus diimport ke dalam stor amanah.
-
Domain Sijil Salah: Sijil pelayan mungkin dikeluarkan untuk domain yang berbeza daripada domain yang diakses. Dalam kes ini, pelayan harus mendapatkan sijil yang betul.
Menyahpepijat Kegagalan Jabat Tangan:
Untuk menentukan punca kegagalan jabat tangan, dayakan penyahpepijatan SSL menggunakan bendera -Djavax.net.debug=all. Ini akan memberikan log terperinci aktiviti penubuhan sambungan SSL.
Kemas kini:
Penyiasatan lanjut mencadangkan bahawa masalah itu berpunca daripada laluan amanah sijil yang tidak lengkap, di mana puncanya CA untuk sijil pelayan tiada di kedai amanah pelanggan. Untuk menyelesaikan masalah ini, sijil CA harus diimport ke dalam stor amanah yang digunakan oleh JVM, biasanya fail cacerts.
Memahami Output Surih JSSE:
JSSE trace menyediakan maklumat tentang kedai kunci, kedai amanah dan jabat tangan proses:
-
Kedai kunci dan Kedai Amanah: Ini disenaraikan pada permulaan jejak, menunjukkan lokasi dan jenis stor kunci dan kedai amanah yang digunakan.
-
Sijil Dipercayai: Surih termasuk bahagian yang menyenaraikan sijil yang dipercayai di kedai amanah. Jika CA pelayan tidak disenaraikan, ini mungkin punca isu laluan amanah.
-
Peringkat Jabat Tangan: Surih akan mengandungi entri yang menerangkan pertukaran ClientHello, ServerHello dan sijil. Ralat mungkin ditunjukkan dalam ServerHello, yang menentukan suite sifir yang dipilih dan sama ada sijil pelayan telah diterima.
Atas ialah kandungan terperinci Mengapa Sambungan SSL Saya Gagal dengan Ralat 'Terima amaran maut: handshake_failure'?. 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