Rumah >Java >javaTutorial >Mengapa saya mendapat Ralat 'java.security.cert.CertificateException: Tiada Nama Alternatif Subjek' Semasa Menyambung ke Perkhidmatan Web melalui HTTPS?
Cara Menyelesaikan Ralat "java.security.cert.CertificateException: Tiada Nama Alternatif Subjek Hadir"
Apabila menyambung ke perkhidmatan web melalui HTTPS menggunakan klien Java, anda mungkin menghadapi ralat "java.security.cert.CertificateException: Tiada nama alternatif subjek hadir." Isu ini berlaku apabila sijil pelayan kekurangan medan Nama Alternatif Subjek (SAN) yang diperlukan yang sepadan dengan nama hos atau alamat IP yang digunakan untuk mengakses perkhidmatan web.
Untuk menyelesaikan masalah ini, ikut langkah berikut:
1. Ekstrak Sijil daripada Certs.txt
Ekstrak bahagian fail certs.txt antara -----MULAKAN SIJIL----- dan -----TAMAT SIJIL---- -. Ini ialah sijil pelayan.
2. Mengubah suai Nama Sijil (Pilihan)
Anda menyebut bahawa anda perlu mengubah suai nama sijil supaya sama dengan alamat IP AAA.BBB.CCC.DDD. Walau bagaimanapun, menurut dokumentasi yang anda berikan, ini mungkin tidak diperlukan. Jika anda mempunyai kawalan ke atas pelayan, anda harus memastikan bahawa sijil mengandungi medan SAN yang sepadan dengan AAA.BBB.CCC.DDD. Jika tidak, anda boleh cuba menggunakan nama hos sebagai medan SAN dan semak sama ada itu menyelesaikan isu.
3. Import Sijil Diubah Suai (Pilihan)
Jika anda mengubah suai sijil, anda perlu mengimportnya menggunakan keytool -importcert -file fileWithModifiedCertificate.
4. Lumpuhkan Pemeriksaan HTTPS (Tidak Disyorkan)
Sebagai alternatif, anda boleh melumpuhkan semakan HTTPS dengan mengikut pendekatan yang digariskan dalam respons yang anda berikan. Ini melibatkan penciptaan pengurus amanah dan pengesah nama hos yang mengabaikan pengesahan sijil. Walau bagaimanapun, penyelesaian ini tidak disyorkan untuk kegunaan pengeluaran.
5. Gunakan Nama Hos (Pilihan)
Jika anda tidak boleh mengubah suai sijil atau melumpuhkan semakan HTTPS, anda boleh cuba menggunakan nama hos (someSubdomain.someorganisation.com) dan bukannya alamat IP semasa menyambung ke perkhidmatan web . Semak sama ada itu menyelesaikan isu.
Ingat bahawa penyelesaian terbaik bergantung pada keadaan khusus anda dan tahap keselamatan yang diperlukan untuk permohonan anda.
Atas ialah kandungan terperinci Mengapa saya mendapat Ralat 'java.security.cert.CertificateException: Tiada Nama Alternatif Subjek' Semasa Menyambung ke Perkhidmatan Web melalui HTTPS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!