.Crt और .key फ़ाइलें क्या हैं और उन्हें कैसे जनरेट किया जाता है?


59

मेरे पास निम्न कॉन्फ़िगरेशन है:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

लेकिन मैं नहीं जानता कि कैसे .crtऔर .keyफ़ाइलों को उत्पन्न करने के लिए ।

जवाबों:


64

crt और की फाइल्स एक सर्टिफिकेट के दोनों हिस्सों को दर्शाते हैं, कि सर्टिफिकेट के लिए प्राइवेट की है और साइन किया हुआ सर्टिफिकेट crt है।

यह सिर्फ़ उत्पन्न करने के तरीकों में से एक है, एक और तरीका एक pem फ़ाइल के अंदर या एक p12 कंटेनर में दूसरा होगा।

आपके पास उन फ़ाइलों को जेनरेट करने के कई तरीके हैं, यदि आप उस प्रमाण पत्र को स्व-हस्ताक्षरित करना चाहते हैं जो आप इस आदेश को जारी कर सकते हैं

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

ध्यान दें कि स्व-हस्ताक्षरित प्रमाणपत्रों के साथ आपका ब्राउज़र आपको चेतावनी देगा कि प्रमाणपत्र "विश्वसनीय" नहीं है, क्योंकि यह एक प्रमाणीकरण प्राधिकारी द्वारा हस्ताक्षरित नहीं किया गया है जो आपके ब्राउज़र की ट्रस्ट सूची में है।

वहां से आप या तो अपना सीए बनाकर ट्रस्ट की अपनी चेन तैयार कर सकते हैं या वेरिसाइन या थावटे जैसी कंपनी से प्रमाणपत्र खरीद सकते हैं।


चलाने के बाद "खुलता है genrsa 1024> host.key" मुझे यह टर्मिनल में मिला: "ई 65537 (0x10001) है" क्या यह एक त्रुटि है?
मोहम्मद अली अकबरी

1
हां, इसका मतलब यह है कि Opensl उस डिफ़ॉल्ट फ़ाइल को रैंडम सीड नहीं लिख सकता है जिसका वह उपयोग करता है, जो Opensl.cnf द्वारा परिभाषित होता है, डिफ़ॉल्ट रूप से CentOS / RHEL में यह फ़ाइल /etc/pki/tls/opensslnnf में होती है। इस मामले में समान कमांड को रूट करने का प्रयास करें और देखें कि यह कैसे जाता है।
लायनमैन

मैं इसे रूट के रूप में आज़माता हूं, लेकिन मुझे "ई 65537 (0x10001)" फिर से मिला है
मोहम्मद अली अकबरी

1
क्या आपके पास SELinux आपके मशीन पर सक्रिय है? चेक / वेर / लॉग / मैसेज देखें कि ओपनसिएल फाइल क्यों नहीं लिख सकता
lynxman

3
letencrypt.org एक मुफ्त ssl प्रदाता है। उन कंपनियों को बहुत सारे पैसे देने के बजाय उस पर एक नज़र डालें।
काण

6

ये SSL प्रमाणपत्र के सार्वजनिक (.crt) और निजी (.key) भाग हैं। देखें इस सवाल है, तो आप अपने आप को प्रमाणपत्र एक उत्पन्न करना चाहते प्रासंगिक जानकारी, जैसे की अधिकता के लिए, या एक खरीदते हैं।


मूल प्रश्न लेकिन - मैं मान रहा हूं कि मुझे अपने ~/.sshफ़ोल्डर में .key फ़ाइल की प्रतिलिपि कैसे करनी चाहिए , जब मैं अपने सीएसआर फ़ाइल को अपने एसडीएल प्रदाता को अपलोड करता हूं?
कासिम

1
@Qasim SSL- फाइल का SSH (जो कि .ssh-folder का है) से कोई लेना-देना नहीं है।
mad_vs
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.