SSL प्रोटोकॉल वास्तव में CA के अज्ञात होने पर एक अलर्ट कोड है ... आप tshark I suppose जैसी किसी चीज़ का उपयोग करके इसका पता लगा सकते हैं।
लेकिन अधिक उपयोगी है कि समस्या से कैसे बचा जाए। अपाचे में, सुनिश्चित करें कि आपके पास निम्नलिखित निर्देश हैं:
SSLCertificateFile /etc/pki/tls/certs/myserver.cert
SSLCertificateKeyFile /etc/pki/tls/private/myserver.key
SSLCertificateChainFile /etc/pki/tls/certs/myserver.ca-bundle
फ़ाइल नाम के लिए दिए गए एक्सटेंशन वास्तव में अपाचे के लिए मायने नहीं रखते हैं। इस स्थिति में, SSLCertificateFile सर्वर के विषय के साथ एक एकल X.509 प्रमाणपत्र होगा, और SSLCertificateChainFile इंटरमीडिएट और रूट CA प्रमाणपत्र (पहले रूट के साथ शुरू) का एक संयोजन होगा।
PEM एन्कोडिंग में प्रमाण पत्र श्रृंखलाओं का पता लगाने में मदद करने के लिए यहां एक उपयोगी स्क्रिप्ट है।
#!/bin/bash
#
# For an input of concatenated PEM ("rfc style") certificates, and a
# command-line consisting of a command to run, run the command over each PEM
# certificate in the file. Typically the command would be something like
# 'openssl x509 -subject -issuer'.
#
# Example:
#
# ssl-rfc-xargs openssl x509 -subject -issuer -validity -modulus -noout < mynewcert.pem
#
sed -e 's/^[ \t]*<ds:X509Certificate>\(.*\)$/-----BEGIN CERTIFICATE-----\n\1/' \
-e 's/^[ \t]*<\/ds:X509Certificate>[ \t]*$/-----END CERTIFICATE-----\n/' \
-e 's/^\(.*\)<\/ds:X509Certificate>[ \t]*$/\1\n-----END CERTIFICATE-----\n/' \
| gawk -vcommand="$*" '
/^-----BEGIN /,/^-----END / {
print |& command
}
/^-----END / {
while ((command |& getline results) > 0) {
print results
}
close(command)
}
'
(इस विशेष स्क्रिप्ट का उपयोग किसी विशेष XML अनुप्रयोग के लिए भी किया जाता है, जो कि शुरुआत के पास वाली सीड बिट्स का समर्थन करने के लिए है, दिलचस्प बिट्स gawk द्वारा किया जाता है।)
यहाँ एक उदाहरण दिया गया है कि आप इसका उपयोग कैसे कर सकते हैं (जैसे कि CA बंडल में प्रमाणपत्रों को निर्धारित करना सही क्रम में है - कभी-कभी यह समस्या उत्पन्न करता है)
$ openssl s_client -connect google.com:443 -showcerts </dev/null 2>&1 | ssl-rfc-xargs openssl x509 -subject -issuer -noout
subject= /C=US/ST=California/L=Mountain View/O=Google Inc/CN=google.com
issuer= /C=US/O=Google Inc/CN=Google Internet Authority G2
subject= /C=US/O=Google Inc/CN=Google Internet Authority G2
issuer= /C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
subject= /C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
issuer= /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
ध्यान दें कि किसी एक प्रमाण पत्र को जारी करने वाला अभिभावक के विषय के निकट है [तुरंत नीचे]
एक स्थानीय फ़ाइल का निरीक्षण करने के लिए आप उस स्क्रिप्ट का उपयोग कैसे कर सकते हैं, इसका एक और उदाहरण यहां दिया गया है।
$ < /etc/pki/tls/certs/example.ca-bundle ssl-rfc-xargs openssl x509 -subject -issuer -noout