स्थानीय HTTPS विकास के लिए स्वयं हस्ताक्षरित SSL प्रमाणपत्र का उपयोग
स्थानीय वेब विकास और परीक्षण के दौरान प्रोडक्शन-जैसे HTTPS कनेक्शन की नकल करना बहुत आवश्यक है। हालांकि स्वयं हस्ताक्षरित SSL प्रमाणपत्र सार्वजनिक प्रमाणपत्र प्राधिकरणों (CA) द्वारा विश्वसनीय नहीं माने जाते, फिर भी ये स्थानीय विकास वातावरण में HTTPS कार्यान्वयन का एक सरल तरीका हैं। यह लेख ServBay द्वारा शामिल OpenSSL टूल का उपयोग करके सुरक्षित और उच्च प्रदर्शन वाले एलिप्टिक कर्व क्रिप्टोग्राफी (ECC) आधारित स्वयं हस्ताक्षरित SSL प्रमाणपत्र बनाने के तरीके को चरणबद्ध तरीके से बताएगा, और इन्हें आपके स्थानीय ServBay वेबसाइट पर कॉन्फ़िगर करने की प्रक्रिया को स्पष्ट करेगा। हम उदाहरण के तौर पर डोमेन नाम servbay.demo
के साथ प्रदर्शन करेंगे।
HTTPS कैसे कॉन्फ़िगर करना है यह जानने से आप स्थानीय स्तर पर अपनी साइट की सुरक्षा-निर्भर व्यवहार की पूरी तरह से जांच कर सकते हैं, जैसे मिक्स्ड कंटेंट वार्निंग, कुकी सुरक्षा चिन्ह आदि।
संक्षिप्त परिचय
स्वयं हस्ताक्षरित प्रमाणपत्र वे SSL प्रमाणपत्र होते हैं जिन्हें आप स्वयं बनाते और हस्ताक्षरित करते हैं, न कि किसी विश्वसनीय तृतीय-पक्ष CA से। ये निम्नलिखित परिदृश्यों में उपयुक्त हैं:
- स्थानीय विकास का वातावरण
- आंतरिक परीक्षण सर्वर
- गैर-संवेदनशील डेटा के भीतर की आंतरिक एप्लिकेशन
ServBay एकीकृत OpenSSL टूल के साथ आता है, जिससे आप टर्मिनल के माध्यम से सीधे प्रमाणपत्र फ़ाइलें तैयार कर सकते हैं।
पूर्व आवश्यकताएँ
- ServBay पहले से इंस्टॉल और चालू होना चाहिए।
- बुनियादी कमांड लाइन संचालन की जानकारी हो।
चरण 1: स्वयं हस्ताक्षरित ECC SSL प्रमाणपत्र बनाएँ
हम ECC (Elliptic Curve Cryptography) प्रमाणपत्र की अनुशंसा करते हैं क्योंकि ये पारंपरिक RSA प्रमाणपत्र की तुलना में समान स्तर की सुरक्षा के साथ छोटे चाबियाँ, तेज़ साइनिंग और वैरिफिकेशन, तथा कम गिनती संसाधन की खपत देते हैं।
स्वयं हस्ताक्षरित ECC SSL प्रमाणपत्र बनाने के लिए विशिष्ट कदम:
ECC प्राइवेट की (Private Key) जनरेट करें
अपना टर्मिनल खोलें। नीचे दी गई कमांड का उपयोग करके
prime256v1
कर्व से ECC प्राइवेट की फ़ाइलservbay.demo.key
तैयार करें।shopenssl ecparam -genkey -name prime256v1 -out servbay.demo.key
1openssl
: OpenSSL टूल को कॉल करता है।ecparam
: ECC पैरामीटर के लिए।-genkey
: कुंजी जनरेट करना।-name prime256v1
: प्रयुक्त ECC कर्व का नाम,prime256v1
(NIST P-256) एक सामान्य एवं सुरक्षित कर्व है।-out servbay.demo.key
: आउटपुट प्राइवेट की का नाम।
सर्टिफिकेट साइनिंग रिक्वेस्ट (CSR) तैयार करें
ऊपर बने प्राइवेट की
servbay.demo.key
का उपयोग करते हुए, CSR फ़ाइलservbay.demo.csr
बनाएं। CSR में वह जानकारी शामिल होती है जिसे प्रमाणपत्र (जैसे डोमेन, आर्गनाइजेशन) में समाहित करना है, और यह आपकी प्राइवेट की से हस्ताक्षरित होती है।shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1इस कमांड के बाद, OpenSSL कुछ जानकारियाँ मांगेगा, जो CSR में भरी जाएँगी। मुख्य तौर पर
Common Name (e.g. server FQDN or YOUR name)
फील्ड है, जिसमें आपके स्थानीय साइट का डोमेन (जैसेservbay.demo
) भरना चाहिए। अन्य फील्ड्स अपनी वास्तविक जानकारी या उदाहरण के अनुसार भरें।उदाहरण इनपुट प्रक्रिया:
Country Name (2 letter code) [AU]:CN # देश का कोड, उदाहरण: CN (चीन) State or Province Name (full name) [Some-State]:Hong Kong # राज्य/प्रदेश Locality Name (eg, city) []:Kowloon # शहर Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # संस्था का नाम Organizational Unit Name (eg, section) []:Development # विभाग का नाम Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **महत्वपूर्ण: आपके स्थानीय डोमेन का नाम यहां भरें** Email Address []:[email protected] # संपर्क ईमेल Please enter the following 'extra' attributes to be sent on in your certificate request A challenge password []: # वैकल्पिक, खाली छोड़ दें An optional company name []: # वैकल्पिक, खाली छोड़ दें
1
2
3
4
5
6
7
8
9
10
11स्वयं हस्ताक्षरित प्रमाणपत्र जनरेट करें
अंततः, बनाए गए CSR (
servbay.demo.csr
) और प्राइवेट की (servbay.demo.key
) के साथ स्वयं हस्ताक्षरित SSL प्रमाणपत्र फ़ाइलservbay.demo.crt
तैयार करें। यहां इसे 365 दिनों के लिए वैध रखा गया है।shopenssl x509 -req -days 365 -in servbay.demo.csr -signkey servbay.demo.key -out servbay.demo.crt
1openssl x509
: X.509 फॉर्मेट प्रमाणपत्र संभालने के लिए।-req
: इनपुट CSR है।-days 365
: प्रमाणपत्र वैधता का समय।-in servbay.demo.csr
: इनपुट CSR फ़ाइल।-signkey servbay.demo.key
: हस्ताक्षर करने के लिए प्राइवेट की का उपयोग (स्वयं हस्ताक्षरित है, इसलिए अपनी की से)।-out servbay.demo.crt
: आउटपुट प्रमाणपत्र फ़ाइल।
उपरोक्त चरणों के बाद, आपके पास वर्तमान डायरेक्टरी में तीन फाइलें होंगी:
servbay.demo.key
(प्राइवेट की),servbay.demo.csr
(CSR), औरservbay.demo.crt
(स्वयं हस्ताक्षरित प्रमाणपत्र)।
(चित्र में दिखाया गया: टर्मिनल में OpenSSL कमांड के माध्यम से प्रमाणपत्र फाइलें बनाना)
चरण 2: ServBay में स्वयं हस्ताक्षरित SSL प्रमाणपत्र कॉन्फ़िगर करें
प्रमाणपत्र फाइलें बनाने के बाद, आपको इन्हें उस स्थान पर रखना है जहाँ से ServBay एक्सेस कर सके, और ServBay की वेबसाइट कॉन्फ़िगरेशन में उनका पथ दर्ज करना है। ServBay अनुशंसा करता है कि सभी SSL प्रमाणपत्र फाइलें /Applications/ServBay/ssl
डायरेक्टरी में एकत्रित करके, प्रत्येक डोमेन के लिए अलग सब-डायरेक्टरी बनाकर संग्रहित की जाएं।
प्रमाणपत्र फाइलें निर्दिष्ट डायरेक्टरी में स्थानांतरित करें
ServBay द्वारा सुझाए गए ढांचे के अनुसार, प्रमाणपत्र फाइलें
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/
डायरेक्टरी में रखें। अगरservbay.demo
डायरेक्टरी नहीं है, तो पहले उसे बनाएं।sh# यदि डायरेक्टरी नहीं है, तो बनाएँ mkdir -p /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # फाइलें स्थानांतरित करें mv servbay.demo.key /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ mv servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # सामान्यतः CSR फाइल की आवश्यकता बाद में नहीं होती, लेकिन बैकअप या अभिलेख के लिए उसे भी स्थानांतरित किया जा सकता है mv servbay.demo.csr /Applications/ServBay/ssl/private/tls-certs/servbay.demo/
1
2
3
4
5
6
7
8/Applications/ServBay/ssl/
: ServBay की डिफॉल्ट SSL फ़ाइलों की मुख्य डायरेक्टरी।private/tls-certs/
: निजी TLS/SSL प्रमाणपत्र फाइलों के लिए अनुशंसित सबडायरेक्टरी संरचना।servbay.demo/
: प्रत्येक डोमेन के लिए अलग सबडायरेक्टरी बनाने का सुझाव, जिससे कई साइट्स के प्रमाणपत्र को प्रबंधित करना आसान होता है।
ServBay प्रबंधन इंटरफ़ेस खोलें
ServBay एप्लिकेशन आरंभ करें और उसका प्रबंधन इंटरफ़ेस खोलें।
साइट कॉन्फ़िगरेशन जोड़ें या संपादित करें
ServBay के प्रबंधन इंटरफ़ेस में वेबसाइट्स (Websites) टैब पर जाएँ। यदि अभी तक आपने
servbay.demo
के लिए साइट बनाई नहीं है, तो साइट जोड़ें (Add Website) पर क्लिक करें। यदि साइट पहले से है, तो उससे संबंधित कॉन्फ़िगरेशन को एडिट करें।SSL/HTTPS कॉन्फ़िगर करें
साइट कॉन्फ़िगरेशन विवरण में SSL/HTTPS या इसी तरह के विकल्प की तलाश करें।
प्रमाणपत्र स्रोत के रूप में Custom चुनें
SSL सर्टिफिकेट जारी करने हेतु प्रकार के विकल्प में Custom (कस्टम प्रमाणपत्र) चुनें।
प्रमाणपत्र फाइल का पथ दर्ज करें
प्रमाणपत्र के स्थान के लिए, उपयुक्त फिल्ड में अभी अभी
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/
में स्थानान्तरित फाइलों का पथ दर्ज करें:- Certificate Key File (प्रमाणपत्र प्राइवेट की):
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.key
- Certificate File (प्रमाणपत्र फ़ाइल):
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.crt
- Certificate Key File (प्रमाणपत्र प्राइवेट की):
डोमेन सेट करें
सुनिश्चित करें कि वेबसाइट कॉन्फ़िगरेशन में डोमेन (Domain) फील्ड
servbay.demo
पर सेट है।कॉन्फ़िगरेशन सहेजें और लागू करें
वेबसाइट कॉन्फ़िगरेशन में किए गए परिवर्तनों को सहेजें। ServBay आपसे परिवर्तनों को लागू करने के लिए कहेगा, जो अमूमन संबद्ध वेब सर्वर (जैसे कि Caddy या Nginx) को रीस्टार्ट करना हो सकता है। पुष्टि करें और परिवर्तनों को लागू करें।
(चित्र में दिखाया गया: ServBay मैनेजमेंट इंटरफ़ेस में साइट के कस्टम SSL प्रमाणपत्र पथ की कॉन्फ़िग्रेशन)
HTTPS कॉन्फ़िगरेशन की पुष्टि करें
ServBay में सेटअप पूरा होने के बाद, अपने ब्राउज़र में https://servbay.demo/
खोलकर जाँचें कि सेटिंग्स अपेक्षित रूप से कार्यरत हैं या नहीं।
चूंकि आपने स्वयं हस्ताक्षरित प्रमाणपत्र का उपयोग किया है, जिसे आपके ऑपरेटिंग सिस्टम या ब्राउज़र द्वारा विश्वसनीय सार्वजनिक CA ने जारी नहीं किया, इसलिए ब्राउज़र सुरक्षा चेतावनी दिखाएगा और बताएगा कि प्रमाणपत्र विश्वसनीय नहीं है या इसमें गोपनीयता का जोखिम है। यह सामान्य/अपेक्षित है।
(चित्र में दिखाया गया: ब्राउज़र में स्वयं हस्ताक्षरित प्रमाणपत्र वाले साइट पर चेतावनी संदेश)
आप चेतावनी को अनदेखा करके आगे बढ़ सकते हैं (आमतौर पर "Advanced" या "Proceed" विकल्प के रूप में), या हर बार चेतावनी न देखने के लिए, अपने स्वयं हस्ताक्षरित प्रमाणपत्र को अपने सिस्टम की ट्रस्ट स्टोर (विश्वास-योग्य संग्रह) में जोड़ सकते हैं।
(चित्र में दिखाया गया: ब्राउज़र में स्वयं हस्ताक्षरित प्रमाणपत्र का विवरण खोलना)
प्रमाणपत्र विवरण देखने के बाद आप पुष्टि कर सकते हैं कि ब्राउज़र ने सही servbay.demo
प्रमाणपत्र लोड किया है।
ध्यान देने योग्य बातें
- प्राइवेट की की सुरक्षा: आपकी प्राइवेट की ('.key') अत्यंत संवेदनशील है। इसे सुरक्षित रखें, सार्वजानिक रूप से कहीं साझा न करें। स्थानीय विकास वातावरण में, यह सुनिश्चित करें कि इसकी फ़ाइल अनुमतियाँ केवल ServBay उपयोगकर्ता को एक्सेस की अनुमति देती हों।
- फ़ाइल पथ: ServBay कॉन्फ़िगरेशन में दर्ज फ़ाइल पथ पूर्ण और सही हों।
- डोमेन मेल: प्रमाणपत्र जनरेशन के समय Common Name (CN) में लिखा डोमेन, ServBay वेबसाइट कन्फ़िगरेशन में दर्ज डोमेन से पूरी तरह मेल खाना चाहिए। अन्यथा, ब्राउज़र डोमेन बेमेल की त्रुटि दिखाएगा।
- प्रमाणपत्र वैधता: स्वयं हस्ताक्षरित प्रमाणपत्र की वैधता वह है, जो आपने जनरेट करते समय (
-days
पैरामीटर) दी थी। एक्सपायर होने के बाद दोबारा जनरेशन व कन्फ़िगरेशन जरूरी है।
संबंधित विषय और विकल्प
हालांकि स्वयं हस्ताक्षरित प्रमाणपत्र बुनियादी स्थानीय HTTPS परीक्षण के लिए पर्याप्त हैं, पर यदि आप स्थानीय स्तर पर सार्वजनिक CA जैसी विश्वसनीयता अनुभव करना चाहते हैं, तो ServBay द्वारा दिए गए अन्य विकल्पों पर विचार कर सकते हैं:
- ServBay User CA: ServBay एक यूजर-स्तरीय CA टूल प्रदान करता है। आप इसे सिस्टम की ट्रस्ट स्टोर में जोड़ सकते हैं, इसके ज़रिए अपने स्थानीय साइट्स के लिए प्रमाणपत्र जारी कर सकते हैं, जो आपके OS तथा ब्राउज़र में विश्वसनीय होंगे। ऐसा करने से स्वयं हस्ताक्षरित प्रमाणपत्र की चेतावनी नहीं आएगी। यह OAuth callback, Webhook या ऐसी दूसरी सिचुएशंस के लिए उपयोगी है जहाँ प्रमाणपत्र पर भरोसा जरूरी है।
- ServBay Public CA: ServBay एक सार्वजनिक CA ऑप्शन भी उपलब्ध कराता है, जिससे आपके स्थानीय डोमेन के लिए प्रमाणपत्र जारी व स्वचालित रूप से ट्रस्ट सेटिंग्स की कॉन्फ़िगर किया जा सकता है।
इन विकल्पों के ज़रिए कई स्थानीय साइट्स को सरलता से प्रबंधित करना संभव है। इन फंक्शन्स की विस्तृत जानकारी के लिए ServBay के दस्तावेज़ देखें।
सामान्य प्रश्न (FAQ)
- प्रश्न: मैंने प्रमाणपत्र बनाया है, फिर भी ब्राउज़र "सुरक्षित नहीं" दिखा रहा है?
- उत्तर: स्वयं हस्ताक्षरित प्रमाणपत्र सार्वजनिक CA से विश्वसनीय नहीं होते, इसलिए ब्राउज़र सुरक्षा को संभव खतरा मानता है और चेतावनी देता है। ऐसा अपेक्षित है। चेतावनी से बचने के लिए प्रमाणपत्र या अगर आपने ServBay User CA जैसे विकल्प चुना तो उसके CA को अपने OS की ट्रस्ट स्टोर में जोड़ लें।
- प्रश्न: क्या मैं RSA प्रमाणपत्र इस्तेमाल कर सकता हूँ?
- उत्तर: हाँ। OpenSSL RSA प्रमाणपत्र भी बना सकता है। आप
openssl genrsa -out servbay.demo.key 2048
जैसी कमांड से RSA प्राइवेट की बना सकते हैं, फिर CSR और प्रमाणपत्र जनरेशन के बाकी चरण जारी रखें। हालांकि बेहतर प्रदर्शन के लिए हम ECC प्रमाणपत्र ही सुझाते हैं।
- उत्तर: हाँ। OpenSSL RSA प्रमाणपत्र भी बना सकता है। आप
- प्रश्न: macOS की ट्रस्ट स्टोर में स्वयं हस्ताक्षरित प्रमाणपत्र कैसे जोड़ें?
- उत्तर: "Keychain Access" (कीचैन एक्सेस) ऐप खोलें, "System" या "Login" कीचैन चुनें।
.crt
फ़ाइल को ड्रैग-ड्रॉप करें। इम्पोर्टेड प्रमाणपत्र पर डबल क्लिक करके "Trust" विकल्प खोलें और "Secure Sockets Layer (SSL)" को "Always Trust" कर दें। विंडो बंद करें, पासवर्ड पूछे जाने पर डालें और ब्राउज़र को रीस्टार्ट करें।
- उत्तर: "Keychain Access" (कीचैन एक्सेस) ऐप खोलें, "System" या "Login" कीचैन चुनें।
निष्कर्ष
इस लेख के माध्यम से आपने सीखा कि ServBay द्वारा एकीकृत OpenSSL टूल का उपयोग करके स्वयं हस्ताक्षरित ECC SSL प्रमाणपत्र कैसे बनाना है और उन्हें अपने ServBay स्थानीय वेबसाइट पर कैसे सेट करना है। खुद-से-हस्ताक्षरित प्रमाणपत्र सामान्यतः स्थानीय विकास व परीक्षण के लिए होते हैं, पर HTTPS के कामकाज को समझने और स्थानीय सुरक्षित कनेक्शन लागू करने की दिशा में यह महत्वपूर्ण कदम है। आसान लोकल ट्रस्ट प्रबंधन के लिए हम आपको ServBay का User CA और Public CA फीचर भी आज़माने की अनुशंसा करते हैं। आशा है, इन चरणों से आपको बेहतर स्थानीय वेब विकास में सहायता मिलेगी।