Apache 2.4.8+ sürümünde SSLCertificateChainFile Kullanımdan Kaldırılma Uyarısı


14

Network Solutions web sitemiz için bir SSL Sertifikamız var. Apache / OpenSSL'yi 2.4.9 sürümüne yükselttikten sonra, HTTPD'yi başlatırken şu uyarıyı alıyorum:

AH02559: The SSLCertificateChainFile directive (/etc/httpd/conf.d/ssl.conf:105) is deprecated, SSLCertificateFile should be used instead

Mod_ssl için Apache kılavuzuna göre, bu durum böyledir:

SSLCertificateChainFile kullanımdan kaldırıldı

SSLCertificateFile, sunucu sertifikası dosyasından ara CA sertifikaları yüklemek üzere genişletildiğinde, 2.4.8 sürümünde kullanılmaz hale geldi.

SSLCertificateFile belgelerine baktığımda , SSLCertificateChainFile çağrımı SSLCertificateFile ile değiştirmem gerekiyordu .

Bu değişiklik benim ssl.conf bundan döndü:

SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/Apache_Plesk_Install.txt

buna:

SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateFile /etc/ssl/Apache_Plesk_Install.txt
SSLCertificateKeyFile /etc/ssl/server.key

... ama bu işe yaramıyor. Apache herhangi bir hata mesajı vermeden başlatmayı reddediyor.

Genel olarak mod_ssl veya SSL sertifikalarına aşina olmadığım için burada başka ne yapacağımdan emin değilim. Internet Explorer'ın sitemizde SSL uyarısı olmaması için Apache_Plesk_Install.txt dosyasını eklememiz gerektiğini hatırlıyorum , ancak bunun dışında hiçbir fikrim yok.

Herhangi bir yardım büyük mutluluk duyacağız. Teşekkürler.


6
Tüm sertifikaları, istemci sertifikasını ve ara sertifikayı / sertifikaları birleştirmeniz gerekir
dawud

Yanıtlar:


9

Aynı sorunu yaşadım. Bu çizgileri yeni değiştirdim/etc/apache2/site-enabled/default-ssl.conf

SSLCertificateFile    /etc/ssl/certs/domain.crt
SSLCertificateKeyFile /etc/ssl/private/domain.key
#SSLCertificateChainFile /etc/apache2/ssl.crt/chain.crt

Gördüğünüz gibi, ben sadece yorum yaptı SSLCertificateChainFile. Sonra, sizinle aynı hatayı görüyor, yaşıyorum benim içeriğini birleştirilmiş chain.crt sonunda bir domain.crtnedenle gibi:

root@host~: cat /etc/apache2/ssl.crt/chain.crt >> /etc/ssl/certs/domain.crt

Ve bir cazibe gibi çalıştı.


apache config'teki yorumlara göre de mükemmel şekilde geçerli: "Alternatif olarak # CA sertifikaları kolaylık sağlamak için doğrudan sunucu # sertifikasına eklendiğinde SSLCertificateFile # ile aynı olabilir."
PeanutPower

6

Zincirleme sertifika içeren bir sertifika paketi oluşturmak için aşağıdaki komut dosyasını kullanın.

#!/bin/sh
#
# Convert PEM Certificate to ca-bundle.crt format
#

test ! $1 && printf "Usage: `basename $0` certificate" && exit 1

# Friendly Name and Underline Friendly Name with equal signs
openssl x509 -in $1 -text -noout | sed -e 's/^  *Subject:.*CN=\([^,]*\).*/\1/p;t  c' -e 'd;:c' -e 's/./=/g'
# Output Fingerprint and swap = for :
openssl x509 -in $1 -noout -fingerprint | sed -e 's/=/: /'
# Output PEM Data:
echo 'PEM Data:'
# Output Certificate
openssl x509 -in $1
# Output Certificate text swapping Certificate with Certificate Ingredients
openssl x509 -in $1 -text -noout | sed -e 's/^Certificate:/Certificate Ingredients:/'

Kullanmak için, sunucu sertifikası ile başlayarak ve sertifika zincirindeki tüm ara sertifikalar aracılığıyla kök sertifikaya geri dönün.

./bundle.sh myserver.crt >myserver.chain
./bundle.sh intermediate.crt >>myserver.chain
./bundle.sh root.crt >>myserver.chain

burada uygun sertifika adları gerçek sertifika adınızla değiştirilir.


4

Site sertifikasını, araları ve ayrıca SSLCertificateFile yönergesi tarafından belirtilen bir dosyada ve özel anahtarın SSLCertificateKeyFile tarafından belirtilen bir dosyada birleştirilmesini sağlayın ve hepiniz ayarlanmalıdır. Özel anahtar sertifikalarla aynı dosyada olabilir, ancak bu önerilmez. Daha fazla ayrıntı için lütfen belgelere bakın:
http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcertificatefile
İstemcinin sahip olması gereken kök CA sertifikasının SSLCertificateFile öğesinin bir parçası olmaması önerilir. Sertifika doğrulamasının tasarlandığı gibi çalışması için kök CA sertifikasını güvenilir olarak kullanın.
Ayrıca, apache hata günlüklerinde hiçbir şey yoksa, hata günlüğünü daha küçük bir ayrıntı düzeyine koyabilirhttp://httpd.apache.org/docs/current/mod/core.html#loglevel


1
Gerçekten mi? Özel anahtar mı? Kötü bir fikir gibi görünüyor. Merak ediyorum, çünkü benim güçlü varsayımım bunun özel olduğu.
SSL

2
Haklısın - işler bu belgelerden hatırladıklarımdan ve bu iki yönerge için httpd-ssl.conf dosyasında hangi belgelerin varlığından değişti. Her ne kadar izin verilse de, SSLCertificateFile tarafından belirtilen dosyada özel anahtar bulundurma pratiği önerilmez. Yanıt şimdi bu gerçeğe hitap etmek için düzenlenmiştir.
Khanna111
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.