SSLCertificateChainFile अपाचे 2.4.8+ पर डिप्रेशन चेतावनी


14

नेटवर्क समाधान से हमारी वेबसाइट के लिए हमारे पास एसएसएल प्रमाणपत्र है। अपाचे / ओपनएसएसएल को 2.4.9 संस्करण में अपग्रेड करने के बाद, अब मुझे एचटीडी शुरू करते समय निम्नलिखित चेतावनी मिलती है:

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

Mod_ssl के लिए अपाचे मैनुअल के अनुसार वास्तव में यही है:

SSLCertificateChainFile को पदावनत कर दिया जाता है

SSLCertificateChainFile 2.4.8 संस्करण के साथ अप्रचलित हो गया, जब SSLCertificateFile को सर्वर प्रमाणपत्र फ़ाइल से मध्यवर्ती CA प्रमाणपत्र लोड करने के लिए बढ़ाया गया था।

के लिए प्रलेखन अवलोकन किया जा रहा SSLCertificateFile , ऐसा लग रहा था जैसे मैं बस करने के लिए अपने कॉल को बदलने के लिए की जरूरत SSLCertificateChainFile साथ SSLCertificateFile

इस बदलाव ने मेरा ssl.conf बदल दिया:

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

इसके लिए:

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

... लेकिन यह काम नहीं करता है। अपाचे बस बिना किसी त्रुटि संदेश के शुरू करने से इनकार करता है।

मुझे यकीन नहीं है कि यहाँ और क्या करने की कोशिश की जा रही है, क्योंकि मैं सामान्य रूप से mod_ssl या SSL प्रमाणपत्र से परिचित नहीं हूँ। मुझे याद है कि इंटरनेट एक्सप्लोरर के लिए Apache_Plesk_Install.txt फ़ाइल को हमारी साइट पर SSL चेतावनी नहीं होने के लिए हमें जोड़ने की आवश्यकता थी , लेकिन इसके अलावा मेरे पास कोई सुराग नहीं है।

किसी भी तरह की सहायता का स्वागत किया जाएगा। धन्यवाद।


6
आपको सभी प्रमाणपत्र, ग्राहक प्रमाणपत्र और इंटरमीडिएट प्रमाणपत्र (एस)
दाऊद

जवाबों:


9

मेरी भी यही समस्या थी। मैंने बस इन लाइनों को बदल दिया/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

जैसा कि आप देख रहे हैं, मैंने अभी टिप्पणी की है SSLCertificateChainFile। फिर, आप के रूप में एक ही त्रुटि को देखते हुए, मैंने अपनी सामग्री chain.crt को अंत में समाप्त कर दिया domain.crt, जैसे:

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

और यह एक आकर्षण की तरह काम करता था।


Apache config में टिप्पणियों के अनुसार पूरी तरह से मान्य है: "वैकल्पिक रूप से # संदर्भित फ़ाइल SSLCertificateFile # के समान हो सकती है जब CA प्रमाणपत्र सीधे सुविधा के लिए सर्वर # प्रमाणपत्र में संलग्न होते हैं।"
मूंगफली दाढ़ 6'15

6

मैं एक प्रमाणपत्र बंडल बनाने के लिए निम्न स्क्रिप्ट का उपयोग करता हूं जिसमें जंजीर प्रमाणपत्र शामिल है।

#!/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:/'

इसका उपयोग करने के लिए, सर्टिफिकेट चेन में किसी भी मध्यस्थ प्रमाण पत्र के माध्यम से सर्वर सर्टिफिकेट के साथ और मूल प्रमाण पत्र के साथ शुरू करना।

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

जहाँ उपयुक्त प्रमाणपत्र नाम आपके वास्तविक प्रमाणपत्र नाम से बदल दिए जाते हैं।


4

साइट प्रमाणपत्र, इंटरमीडिएट के साथ-साथ SSLCertificateFile निर्देश द्वारा निर्दिष्ट फ़ाइल में और SSLCertkutKeyFile द्वारा निर्दिष्ट फ़ाइल में निजी कुंजी संक्षिप्त रूप में रखें और आपको सभी सेट होने चाहिए। हालाँकि आपके पास प्रमाणपत्र के रूप में एक ही फ़ाइल में निजी कुंजी हो सकती है, लेकिन यह हतोत्साहित किया जाता है। कृपया अधिक जानकारी के लिए दस्तावेज़ीकरण देखें:
http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcertificatefile
मैं सिफारिश करूंगा कि रूट CA सर्टिफिकेट SSDertertificateFile का हिस्सा नहीं है क्योंकि क्लाइंट के पास होना चाहिए रूट सीए प्रमाण पत्र के रूप में काम करने के लिए प्रमाण पत्र सत्यापन के लिए विश्वसनीय।
इसके अलावा, यदि अपाचे त्रुटि लॉग में कुछ भी नहीं है, तो त्रुटि लॉग को एक बारीक ग्रैन्युलैरिटी में डाल सकता हैhttp://httpd.apache.org/docs/current/mod/core.html#loglevel


1
वास्तव में? निजी कुंजी? यह एक बुरे विचार की तरह लगता है। बस सोच रहा था, क्योंकि, मेरी मजबूत धारणा यह है कि यह निजी है।
एसएसएल

2
आप सही हैं - चीजों को मैंने प्रलेखन से याद किया है और इन दो निर्देशों के लिए httpd-ssl.conf फ़ाइल में क्या दस्तावेज मौजूद है, से बदल दिया है। यद्यपि अनुमति है लेकिन SSLCertificateFile द्वारा निर्दिष्ट फ़ाइल में निजी कुंजी रखने का अभ्यास हतोत्साहित किया जाता है। इस तथ्य को पूरा करने के लिए अब उत्तर को संपादित किया गया है।
खन्ना111
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.