Rumah >Java >javaTutorial >Bagaimanakah Java Mengesahkan Nama Pelayan Sijil SSL dan Apakah Langkah Penyelesaian Masalah?

Bagaimanakah Java Mengesahkan Nama Pelayan Sijil SSL dan Apakah Langkah Penyelesaian Masalah?

Barbara Streisand
Barbara Streisandasal
2024-12-11 07:39:10559semak imbas

How Does Java Verify SSL Certificate Server Names and What Are the Troubleshooting Steps?

Menyelesaikan Nama Pelayan Sijil SSL

Sijil SSL memainkan peranan penting dalam mewujudkan sambungan selamat, tetapi memahami cara nama pelayan diselesaikan adalah penting.

Bagaimana Nama Pelayan Sijil SSL Selesai

Menurut RFC 6125, proses mengesahkan nama hos untuk sijil SSL melibatkan pemeriksaan medan berikut:

  1. Nama Alternatif Subjek (SAN): Jika ada, medan SAN diutamakan dan mengandungi pelayan yang sah nama.
  2. Nama Biasa (CN): Jika tiada medan SAN tersedia, medan CN digunakan. Walau bagaimanapun, amalan ini tidak digunakan lagi.

Pengesahan Nama Hos Java

Di Java, pengesahan nama hos untuk sijil SSL biasanya mengikut garis panduan yang digariskan dalam RFC 2818. Ini bermakna bahawa:

  • Jika sijil termasuk medan SAN, Java akan mengesahkan nama hos terhadap nilai yang ditentukan.
  • Jika tiada medan SAN hadir, Java akan menyemak medan CN untuk nama hos yang sah.

Menggunakan Keytool untuk Menambah Alternatif Names

  • Dalam Java 7 atau lebih baru, keytool menyediakan pilihan untuk menentukan Subjek Alternatif Nama (SAN) apabila menjana sijil SSL. Menggunakan parameter -ext dengan san=dns: atau san=ip: akan memasukkan nama alternatif yang dikehendaki dalam sijil.

OpenSSL sebagai Alternatif

  • Jika keytool tidak memenuhi keperluan anda, OpenSSL boleh digunakan untuk menjana sijil yang ditandatangani sendiri dengan SAN. Dengan mengubah suai fail konfigurasi openssl.cnf atau menetapkan pembolehubah persekitaran, anda boleh menentukan nama alternatif untuk disertakan dalam sijil.

Menyelesaikan Masalah Ralat Pengesahan Nama Hos

Jika Java tidak mempercayai sijil SSL, walaupun telah ditambahkan pada kedai amanah, langkah berikut boleh bantuan:

  • Pastikan bahawa medan SAN atau medan CN dalam sijil sepadan dengan nama hos pelayan yang anda cuba sambungkan.
  • Sahkan bahawa pihak berkuasa sijil (CA) yang mengeluarkan sijil itu dipercayai oleh Java.
  • Pertimbangkan untuk menggunakan HostnameVerifier tersuai untuk mengatasi pengesahan nama hos lalai Java tingkah laku.

Atas ialah kandungan terperinci Bagaimanakah Java Mengesahkan Nama Pelayan Sijil SSL dan Apakah Langkah Penyelesaian Masalah?. 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