अपाचे के लिए स्व हस्ताक्षरित एसएसएल प्रमाणपत्र उत्पन्न करें


10

मैं वेबसाइट के लिए स्व हस्ताक्षरित प्रमाण पत्र बनाना चाहता हूं। पुराना प्रमाण पत्र कुछ दिनों पहले समाप्त हो गया है। सिस्टम पर एक से अधिक NameVirtualHosts होस्ट किए गए हैं। प्रमाणपत्र बनाने के लिए मैं जिन आदेशों का उपयोग कर रहा हूं वे एक ट्यूटोरियल वेबसाइट से लिए गए हैं और ये हैं:

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr 
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

इसके बाद ssl.conf फ़ाइल में मैंने VirtualHost सेक्शन के तहत निर्दिष्ट किया है, साथ ही अन्य सेटिंग्स द्वारा किया गया है

SSLEngine on
SSLCertificateFile <full_path>/server.crt
SSLCertificateKeyFile <full_path>/server.key

सर्वर शुरू करने पर मुझे लॉग फाइल में संदेश मिल रहे हैं और सर्वर शुरू होने में विफल है।

Error_log में फ़ाइल संदेश हैं

 [Mon Jun 01 23:52:46 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)

Ssl_error_log में फ़ाइल संदेश हैं

 [Mon Jun 01 23:52:46 2009] [error] Init: Private key not found
 [Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag
 [Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
 [Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
 [Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib

मैं वास्तव में सराहना करूंगा अगर कोई इसे कैसे हल कर सकता है। मैंने स्वयं हस्ताक्षरित एसएसएल प्रमाणपत्रों पर कुछ अन्य ट्यूटोरियल वेबसाइट की कोशिश की है, लेकिन उनके द्वारा बताए गए चरणों में से कोई भी काम नहीं कर रहा है।

जवाबों:


21

एक फ़ाइल में प्रमाण पत्र और कुंजी उत्पन्न करने के लिए इस एक लाइनर का उपयोग करें

openssl req -new -x509 -days 999 -nodes -out apache.pem -keyout apache.pem

फिर आपको केवल कॉन्फ़िगरेशन की आवश्यकता होगी

SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

आप का मतलब है ऊपर लाइन sslengine पर जोड़ें और sslcertificatefile / etc / ssh
रजत

यह अपाचे विन्यास के लिए है, ssh नहीं।
हयालसी

1
वह कमांड ओपी के मूल कमांड के विपरीत, फ़ाइल सिस्टम पर स्पष्ट में निजी कुंजी छोड़ देगा। -nodesविकल्प को स्वीकार करते हुए ट्रिपल-डेस का उपयोग करके कुंजी को एन्क्रिप्ट करें। (जब भी सर्वर शुरू किया जाए तो कुंजी का पासफ़्रेज़ प्रदान करना होगा।) ओपनएसएसएल reqकमांड अधिक दृढ़ता से एन्क्रिप्टेड कुंजी बनाने का समर्थन नहीं करता है, लेकिन पहले से तैयार की गई एन्क्रिप्टेड कुंजी का उपयोग कर सकता है।
कैल्रियन

4

यह थोड़ा तुच्छ लग सकता है, लेकिन अपने .key फ़ाइल पर अनुमति की जाँच करें


+1 कभी-कभी तुच्छ चीजों के बारे में सबसे कम सोचा जाता है।
बुर्खर्ड

0

openssl req -newkey rsa:1024 -keyout privkey.pemSSL उत्पन्न होने पर आप SSL कुंजी को सहेजने के लिए उपयोग कर सकते हैं , यदि मुख्य पीढ़ी सही नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.