Biasanya dengan host virtual ssl diatur dengan arahan berikut:
Listen 443
SSLCertificateFile /home/web/certs/domain1.public.crt
SSLCertificateKeyFile /home/web/certs/domain1.private.key
SSLCertificateChainFile /home/web/certs/domain1.intermediate.crt
Apa perbedaan antara SSLCertificateFile
dan SSLCertificateChainFile
? Klien telah membeli kunci CA dari GoDaddy. Sepertinya GoDaddy hanya menyediakan SSLCertificateFile
(file .crt), dan SSLCertificateKeyFile (file .key) dan tidak di SSLCertificateChainFile
.
Apakah ssl saya masih berfungsi tanpa SSLCertificateChainFile
jalur yang ditentukan?
Juga, apakah ada jalur kanonik di mana file-file ini harus ditempatkan?
apache-2.2
ssl
chrisjlee
sumber
sumber
/etc/ssl
,/usr/local/etc/ssl
atau dissl
tertentu subdirektori ke situs web (misalnya/home/www/example.com/data
telah website makahome/www/example.com/ssl
memiliki sertifikat).Jawaban:
Sebenarnya, Anda tidak perlu rantai untuk SSL berfungsi.
Yang selalu Anda butuhkan adalah
SSLCertificateFile
denganSSLCertificateKeyFile
kunci yang benar untuk sertifikat itu.Masalahnya adalah, jika semua yang Anda berikan kepada Apache adalah sertifikat, maka yang harus diberikan untuk menghubungkan klien adalah sertifikat - yang tidak menceritakan keseluruhan cerita tentang sertifikat SSL itu. Itu mengatakan, "Saya ditandatangani oleh seseorang, tetapi saya tidak akan memberi tahu Anda tentang mereka".
Ini biasanya berfungsi dengan baik, karena sebagian besar sistem klien memiliki penyimpanan besar sertifikat CA (baik root maupun intermediate) yang dapat diperiksa melalui hubungan penandatanganan yang cocok untuk membangun kepercayaan. Namun, terkadang ini tidak berhasil; paling sering masalah yang akan Anda hadapi adalah klien yang tidak memegang sertifikat untuk CA perantara yang menandatangani sertifikat Anda.
Di situlah rantai masuk; itu memungkinkan Apache menunjukkan kepada klien persisnya seperti apa hubungan kepercayaan itu, yang dapat membantu klien mengisi kekosongan antara sertifikat Anda, root yang mereka percayai, dan perantara yang tidak mereka ketahui. Rantai dapat dimasukkan dalam konfigurasi Anda dalam salah satu dari dua cara:
SSLCertificateFile
, pada baris baru setelah sertifikat server berurutan (root harus di bagian bawah). Jika Anda mengaturnya seperti ini, Anda akan inginSSLCertificateChainFile
menunjuk ke file yang sama persisSSLCertificateFile
.SSLCertificateChainFile
arahan; sertifikat CA yang mengeluarkan sertifikat server harus menjadi yang pertama dalam file, diikuti oleh yang lainnya sampai ke root.Periksa file sertifikat yang Anda miliki sekarang - Saya yakin tidak ada data berantai yang disertakan. Yang biasanya berfungsi dengan baik, tetapi pada akhirnya akan menyebabkan masalah dengan beberapa browser atau lainnya.
sumber
SSLCertificateChainFile
.SSLCertificateFile
danSSLCertificateChainFile
menunjuk ke file gabungan yang sama, yang berfungsi - mengedit jawaban saya untuk memperbaikinya.Berikut adalah penjelasan yang cukup bagus tentang perbedaan serta dampak yang bisa diamati antara memilih satu vs yang lain:
https://stackoverflow.com/questions/1899983/difference-between-sslcacertificatefile-and-sslcertificatechainfile
sumber
Sebenarnya, GoDaddy memberi Anda rantai perantara:
http://support.godaddy.com/help/5238
Inilah beberapa diskusi lagi.
http://support.godaddy.com/help/868/what-is-an-intermediate-certificate
Email dari GoDaddy memberi tahu Anda cara mengunduh sertifikat baru Anda juga akan memiliki informasi tentang file sertifikat perantara. Itu di suatu tempat menuju bagian bawah, mungkin setelah mata Anda berkaca-kaca dari kata-kata dan kenaikan harga.
Dalam hal apa yang akan terjadi jika Anda tidak memasukkan arahan SSLCertificateChainFile yang tepat: Anda akan melihat peringatan merah besar di browser Anda karena situs SSL Anda tidak akan memvalidasi di browser, karena mereka tidak dapat mengikuti rantai sertifikat dari situs Anda. cert ke salah satu yang dimiliki oleh otoritas sertifikat yang diketahui browser.
sumber
Saya ingin menambahkan jawaban baik sebelumnya tentang SSLCertificateChainFile bahwa urutan sertifikat dalam file itu juga penting. Klien berbasis OpenSSL akan memilah pesanan sendiri tetapi klien berbasis gnutl akan gagal pada rantai dengan urutan yang salah.
Tes pemesanan dengan gnutls-cli, seperti
di mana /etc/ssl/certs/ca-certificates.crt adalah lokasi distro Anda menempatkan sertifikat gabungan.
sumber