आसानी से SSL प्रमाणपत्र कैसे बनाएं और इसे Mac OS X में Apache2 में कॉन्फ़िगर करें?


34

मैं अपने मैक ओएस एक्स को स्थानीय विकास परीक्षणों के लिए https के साथ उपयोग करना चाहता हूं। मैं कैसे आसानी से Apache2 को ssl पर प्रतिक्रिया दे सकता हूं, बस परीक्षण के प्रस्ताव के लिए - मुझे वास्तविक प्रमाणपत्र नहीं चाहिए, स्थानीय https काम करने के लिए बस एक नकली

जवाबों:


58

स्थानीय विकास परीक्षण के लिए एक स्व-हस्ताक्षरित प्रमाण पत्र पर्याप्त है। आप OpenSSL किट की तरह एक उत्पन्न कर सकते हैं :

निजी कुंजी बनाना:

openssl genrsa -des3 -out server.key 1024

उत्पादन:

RSA निजी कुंजी बनाना, 1024 बिट लंबा मापांक
.................................................. ....... ++++++
........ ++++++
ई 65537 (0x10001) है
PEM पास वाक्यांश दर्ज करें:
पासवर्ड सत्यापित करना - PEM पास वाक्यांश दर्ज करें:

अपनी निजी कुंजी के लिए पासफ़्रेज़ दर्ज करें।

CSR उत्पन्न करना (प्रमाणपत्र अनुरोध पर हस्ताक्षर करना):

openssl req -new -key server.key -out server.csr

यह इस तरह से विवरण का अनुरोध करेगा:

देश का नाम (2 अक्षर का कोड) [GB]:
राज्य या प्रांत का नाम (पूरा नाम) [बर्कशायर]:
स्थानीय नाम (जैसे, शहर) [न्यूबरी]:
संगठन का नाम (जैसे, कंपनी) [मेरी कंपनी लिमिटेड]:
संगठनात्मक इकाई का नाम (जैसे, अनुभाग) []:
सामान्य नाम (जैसे, आपका नाम या आपके सर्वर का होस्टनाम) []:
ईमेल पता []:
कृपया निम्नलिखित 'अतिरिक्त' विशेषताएँ दर्ज करें
आपके प्रमाणपत्र अनुरोध के साथ भेजा जाएगा
एक चुनौती पासवर्ड []:
एक वैकल्पिक कंपनी का नाम []:

यह काफी सीधा है, सामान्य नाम आपके सर्वर का होस्टनाम है जैसा कि कोष्ठक में कहा गया है।

स्व हस्ताक्षरित प्रमाण पत्र बनाना:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

अपाचे के लिए httpd.conf में SSL कॉन्फ़िगर करना:

SSLEngine पर
SSLCertificateFile /path/to/generated/server.crt
SSLCertificateKeyFile /path/to/generated/server.key

(अपने प्रमाण पत्र और कुंजी के लिए पथ को उचित रूप से बदलें)

फिर से शुरू करें :

apachectl restart

अपाचे आपसे आपकी कुंजी के पासफ़्रेज़ के लिए पूछेगा। यदि आपको लगता है कि आप सर्वर को बहुत अधिक बंद कर रहे हैं, तो आप कुंजी से पासफ़्रेज़ हटाना चाह सकते हैं ताकि आप इसे हर बार दर्ज करने से बच सकें। यदि नहीं, तो इसके बारे में चिंता न करें। यदि ऐसा है, तो चरण 2 ( CSR उत्पन्न ) के बाद इस चरण को पूरा करें :

cp server.key server.key.copy
openssl rsa -in server.key.copy -out server.key

यह मेरे लिए लगभग चिंताजनक है। जब मैं अपने Rails में कुछ पेज को एक्सेस करने की कोशिश करता हूं, तो http पेज का उपयोग मौजूद होता है, लेकिन जब मैं https का उपयोग करता हूं, तो यह रिटर्न पेज नहीं मिलता है। क्या आप जानते हैं कि क्या हो सकता है?
डैनियल कुकियर

क्या आपने पोर्ट 443 पर https का उपयोग करने के लिए अपनी वर्चुअलहोस्ट बदल दी है? इसे इस तरह दिखना चाहिए: <VirtualHost 192.168.1.100:443> SSLEngine On, etc .... </ VirtualHost>
John T

इसके लिए धन्यवाद, मुझे इसके साथ लायन पर एक एसएसएल सर्टिफिकेट ठीक काम कर रहा है। बस सोचा था कि मैं कुछ बिंदु जोड़ूंगा, हालांकि इससे आपका जीवन आसान हो जाएगा। Apple के अपाचे में httpd-ssl.conf है जो पहले से ही / निजी / etc / apache2 में देखने के लिए सेट है, यदि आप अपना सर्वर डालते हैं। * फाइल वहाँ संपादित करने के लिए एक कम फ़ाइल है। इसके अलावा, आपको httpd.conf को संपादित करने की आवश्यकता है क्योंकि httpd-ssl.conf को शामिल करने वाली लाइन को डिफ़ॉल्ट रूप से टिप्पणी की गई है। अंत में, 365 दिन थोड़ा छोटा है, आप एक लंबी समाप्ति तिथि निर्धारित करना चाहते हैं या आप इसे अगले साल फिर से करेंगे (मैंने 3650 का इस्तेमाल किया)
गॉर्डन डे

अगर किसी को मेरे जैसी समस्याएँ हो रही हैं, तो आपको यह लिंक पाकर ख़ुशी होगी, जो बताती है कि ssl yellowrobot.heroku.com/blog/2012/01/22/22 के
Relequestual

अगर यह आपकी देव मशीन है तो आप पासवर्ड के बिना निजी कुंजी रखना चाहेंगे: खुलता है rs -in server.key -out server.nopass.key
Aldekein
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.