Rumah >Java >javaTutorial >Mengapa Jabat Tangan SSL Java Saya Gagal Apabila Pelayan Meminta Sijil Pelanggan yang Ditandatangani oleh CA Berbeza?
Pengguguran Sijil Pelanggan dalam Java SSL Handshake
Gelagat Java semasa jabat tangan SSL kadangkala boleh mengakibatkan kehilangan sijil pelanggan, yang membawa kepada jabat tangan kegagalan. Isu ini timbul apabila pelayan meminta sijil klien yang ditandatangani oleh CA tertentu (dalam kes ini, "RootCA"), dan Java hanya menemui sijil klien yang ditandatangani oleh CA bawahan ("SubCA") dalam Keystore.
Pertimbangan Konfigurasi Kedai Kunci:
Pertimbangan Konfigurasi Pelayan:
Penyelesaian Penyelesaian:
Untuk membetulkan isu ini, sijil pelanggan dan rantaian sijilnya (termasuk sijil "SubCA") hendaklah digabungkan menjadi satu fail (cth., bundle.pem). Fail PEM yang digabungkan ini kemudiannya boleh diimport ke alias Keystore yang memegang kunci peribadi pelanggan menggunakan keytool -importcert -keystore store.jks -alias myalias -file bundle.pem. Dengan melakukan ini, Java akan mengenali rantai sijil lengkap dan menghantar sijil yang sesuai semasa jabat tangan SSL.
Atas ialah kandungan terperinci Mengapa Jabat Tangan SSL Java Saya Gagal Apabila Pelayan Meminta Sijil Pelanggan yang Ditandatangani oleh CA Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!