Saya mengalami masalah saat mengonfigurasi SSL di server Debian 6.0 32bit. Saya relatif baru dengan SSL jadi mohon bersabarlah. Saya memasukkan informasi sebanyak yang saya bisa.
Catatan: Nama domain yang sebenarnya telah diubah untuk melindungi identitas dan integritas server.
Konfigurasi
Server berjalan menggunakan nginx. Ini dikonfigurasi sebagai berikut:
ssl_certificate /usr/local/nginx/priv/mysite.ca.chained.crt;
ssl_certificate_key /usr/local/nginx/priv/mysite.ca.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_verify_depth 2;
Saya merantai sertifikat saya menggunakan metode yang dijelaskan di sini
cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt
di mana mysite.ca.crt
sertifikat yang diberikan kepada saya oleh otoritas penandatanganan, dan bundle.crt
apakah sertifikat CA juga dikirimkan kepada saya oleh otoritas penandatanganan saya. Masalahnya adalah saya tidak membeli sertifikat SSL langsung dari GlobalSign, melainkan melalui penyedia hosting saya, Singlehop.
Menguji
Sertifikat divalidasi dengan benar di Safari dan Chrome, tetapi tidak di Firefox. Pencarian awal mengungkapkan bahwa mungkin ada masalah dengan CA.
Saya menjelajahi jawaban untuk pertanyaan serupa , tetapi tidak dapat menemukan solusi, karena saya tidak benar-benar memahami tujuan dari setiap sertifikat.
Saya menggunakan s_client openssl untuk menguji koneksi, dan menerima output yang tampaknya menunjukkan masalah yang sama dengan pertanyaan serupa . Kesalahannya adalah sebagai berikut:
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=27:certificate not trusted
verify return:1
Detail lengkap dari respon openssl (dengan sertifikat dan informasi yang tidak perlu terpotong) dapat ditemukan di sini .
Saya juga melihat peringatan:
No client certificate CA names sent
Mungkinkah ini masalahnya? Bagaimana cara memastikan bahwa nginx mengirimkan nama CA ini?
Upaya untuk Memecahkan Masalah
Saya mencoba memecahkan masalah dengan mengunduh CA root langsung dari GlobalSign, tetapi menerima kesalahan yang sama. Saya memperbarui CA root di server Debian saya menggunakan update-ca-certificates
perintah, tetapi tidak ada yang berubah. Ini mungkin karena CA yang dikirim dari penyedia saya benar, sehingga sertifikat dirantai dua kali, yang tidak membantu.
0 s:/OU=Domain Control Validated/CN=*.mysite.ca
i:/C=BE/O=GlobalSign nv-sa/CN=AlphaSSL CA - SHA256 - G2
1 s:/O=AlphaSSL/CN=AlphaSSL CA - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
2 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
Langkah selanjutnya
Tolong beri tahu saya jika ada yang bisa saya coba, atau jika saya hanya salah mengonfigurasi semuanya.
AlphaSSL CA - SHA256 - G2
. Namun, rantai Anda memasok perantaraAlphaSSL CA - G2
. Saya yakin Anda perlu menghapus sertifikat perantara saat ini (AlphaSSL CA - G2
), dan menggantinya dengan yang memiliki sidik jariae:bf:32:c3:c8:32:c7:d7...
(AlphaSSL CA - SHA256 - G2
). Juga, Anda tidak perlu mengirimGlobalSign Root CA
. Klien harus mengakar kepercayaannya (atau pada perantara).