ServBay कोड साइनिंग सर्टिफिकेट के लिए आवेदन कैसे करें और इसका इस्तेमाल कैसे करें
परिचय
सॉफ़्टवेयर डेवलपमेंट और वितरण प्रक्रिया में, कोड साइनिंग उपयोगकर्ता के विश्वास और सॉफ़्टवेयर की अखंडता सुनिश्चित करने के लिए एक महत्वपूर्ण कदम है। कोड पर डिजिटल सिग्नेचर करने से, डेवलपर्स अपने सॉफ़्टवेयर का स्रोत प्रमाणित कर सकते हैं और यह सुनिश्चित कर सकते हैं कि हस्ताक्षर के बाद से कोड में कोई छेड़छाड़ नहीं हुई है।
ServBay डेवलपर्स को उनके स्थानीय वातावरण में ServBay आंतरिक CA द्वारा जारी कोड साइनिंग सर्टिफिकेट के लिए आवेदन करने और उपयोग करने की सुविधा देता है। ये सर्टिफिकेट खासतौर पर इन मामलों के लिए उपयुक्त हैं:
- लोकल डेवलपमेंट या टेस्टिंग के चरण में सॉफ़्टवेयर को साइन करके असली सिग्नेचर प्रक्रिया का अनुकरण करना।
- टीम या विश्वसनीय वातावरण में उपयोग किए जाने वाले स्क्रिप्ट, टूल या एप्लिकेशन को साइन करना, ताकि उनके स्रोत और अखंडता को मान्य किया जा सके।
- कोड साइनिंग प्रक्रिया को सीखना और उसका अभ्यास करना, वह भी बिना महंगे व्यावसायिक कोड साइनिंग सर्टिफिकेट ख़रीदे।
महत्वपूर्ण नोट: ServBay आंतरिक CA द्वारा जारी कोड साइनिंग सर्टिफिकेट, सार्वजनिक रूप से ट्रस्टेड सर्टिफिकेट अथॉरिटी (जैसे Let's Encrypt, Comodo आदि) द्वारा जारी नहीं किए जाते हैं। ये सार्वजनिक ऑपरेटिंग सिस्टम या ब्राउज़र द्वारा डिफ़ॉल्ट रूप से विश्वसनीय नहीं होते। इसलिए, ये सर्टिफिकेट उन परिस्थितियों में उपयुक्त नहीं हैं जहां सार्वजनिक विश्वास की आवश्यकता हो, जैसे—कॉमर्शियल सॉफ़्टवेयर को अंतिम उपयोगकर्ताओं को वितरित करना, एप स्टोर में सबमिट करना, या ऑपरेटिंग सिस्टम की सुरक्षा जांच (जैसे macOS Gatekeeper की अनजान डेवलपर चेतावनी) के लिए। ये मुख्यतः लोकल डेवलपमेंट, टेस्टिंग या कंट्रोल्ड वातावरण में साइनिंग के लिए ही उपयुक्त हैं।
कोड साइनिंग सर्टिफिकेट का परिचय
कोड साइनिंग सर्टिफिकेट एक डिजिटल प्रमाणपत्र है, जिसका उपयोग निष्पादन-योग्य (executable) फाइलों, स्क्रिप्ट्स, लाइब्रेरी आदि सॉफ़्टवेयर कोड पर डिजिटल सिग्नेचर लगाने में किया जाता है। इसके प्रमुख फायदे हैं:
- सॉफ्टवेयर पब्लिशर की पहचान सत्यापित करना: प्रमाणपत्र में पब्लिशर की जानकारी होती है, डिजिटल सिग्नेचर यह साबित करता है कि सॉफ्टवेयर सच में प्रमाणपत्र में उल्लिखित डेवलपर या संस्था द्वारा जारी किया गया है।
- कोड की अखंडता सुनिश्चित करना: साइनिंग प्रक्रिया के दौरान कोड की सामग्री पर आधारित हैश वैल्यू बनती है, जिसे प्राइवेट की से एन्क्रिप्ट किया जाता है। सत्यापन के दौरान, सिस्टम हैश को फिर से कैलकुलेट करता है और सिग्नेचर में मौजूद हैश से मिलान करता है। कोड में कोई भी बदलाव हैश को असंगत कर देगा, जिससे सिग्नेचर फेल हो जाएगा और पता चल जाएगा कि कोड में छेड़छाड़ हुई है।
- यूज़र ट्रस्ट को बढ़ाना: ऑपरेटिंग सिस्टम या सुरक्षा सॉफ्टवेयर आमतौर पर ऐसे सॉफ्टवेयर के लिए चेतावनी देते हैं जो बिना साइनिंग के या अनजान पब्लिशर से हैं। Trusted environment (या जब ServBay की CA को मैनुअली ट्रस्ट चेन में जोड़ा गया हो) में, कोड साइनिंग से ये चेतावनियां हट जाती हैं, जिससे यूज़र विश्वास के साथ सॉफ्टवेयर इंस्टॉल और उपयोग कर सकते हैं।
- मैलवेयर फैलने से रोकथाम: कोड साइनिंग यूज़र को वैध सॉफ्टवेयर और छद्म (जाली) सॉफ्टवेयर के बीच अंतर करने में मदद करता है, जिससे मैलवेयर के फैलाव से बचाव होता है।
ServBay द्वारा कोड साइनिंग सर्टिफिकेट के लिए आवेदन
ServBay ने लोकल वातावरण में कोड साइनिंग सर्टिफिकेट प्राप्त करने की प्रक्रिया आसान बना दी है।
SSL सर्टिफिकेट प्रबंधन पैनल खोलें: ServBay एप की साइडबार में "SSL Certificates" मेनू पर क्लिक करें।
नया सर्टिफिकेट अनुरोध आरंभ करें: SSL प्रमाणपत्र प्रबंधन पृष्ठ के ऊपर दाईं ओर, "+" (जोड़ें) बटन पर क्लिक करें।
सर्टिफिकेट जानकारी भरें: "Request Certificate" पेज पर निम्न महत्वपूर्ण जानकारी भरें:
- Common Name (सामान्य नाम): अपनी संस्था या व्यक्तिगत नाम लिखें, जैसे:
ServBay, LLC
याServBay Demo Developer
। - Usage Purpose (उपयोग उद्देश्य): सर्टिफिकेट का उद्देश्य चुनें:
Code Signing
। - Request Method (अनुरोध विधि): जारी करने की विधि चुनें:
ServBay CA
। - Issuer (जारीकर्ता): इस सर्टिफिकेट के लिए प्रयोग करने वाले ServBay आंतरिक CA का चयन करें, सामान्यतः
ServBay User CA
चुनें। - Algorithm (एल्गोरिद्म): की-पेयर जनरेट करने के लिए एन्क्रिप्शन एल्गोरिद्म चुनें:
ECC (Elliptic Curve क्रिप्टोग्राफी)
याRSA (Rivest-Shamir-Adleman)
। ECC अक्सर कम की-लंबाई में अधिक सुरक्षा देता है। - Key Length (की-लंबाई): चयनित एल्गोरिद्म के लिए की साइज चुनें, ECC के लिए
384
, RSA के लिए2048
या4096
। बड़ी की ज़्यादा सुरक्षित होती है, लेकिन प्रोसेसिंग थोड़ी धीमी हो सकती है। - Password (पासवर्ड): बहुत जरूरी! अपनी प्राइवेट की की सुरक्षा के लिए मजबूत पासवर्ड सेट करें। इस पासवर्ड की आवश्यकता जब आप सर्टिफिकेट (.p12 फ़ाइल) निर्यात या किसी कोड साइनिंग टूल में इसका उपयोग करते हैं तब होती है। ServBay आपके पासवर्ड का रिकवरी समर्थन नहीं देता, इसलिए इसे सुरक्षित रखें। आप खुद का पासवर्ड चुन सकते हैं। (नोट: स्क्रीनशॉट में 'ServBay.dev' डेमो पासवर्ड है, असल में ऐसा कमजोर पासवर्ड न चुनें, स्वयं का मजबूत पासवर्ड इस्तेमाल करें।)
स्क्रीनशॉट डेमो, अपने वास्तविक विवरण के अनुसार भरें
- Common Name (सामान्य नाम): अपनी संस्था या व्यक्तिगत नाम लिखें, जैसे:
सर्टिफिकेट आवेदन सबमिट करें: सभी जानकारी भरने के बाद और पुष्टि कर लें कि सब सही है, फिर पेज के नीचे "Request" बटन दबाएँ। ServBay आपके द्वारा निर्दिष्ट ServBay User CA के माध्यम से अपने लिए कोड साइनिंग सर्टिफिकेट स्वतः जारी करेगा।
सर्टिफिकेट का निर्यात और उपयोग
कोड साइनिंग सर्टिफिकेट सफलतापूर्वक प्राप्त होने पर, आपको इसे विभिन्न टूल्स में उपयोग के लिए मानक फॉर्मेट में निर्यात करना होगा। ServBay द्वारा निर्यात किए गए प्रमाणपत्र सामान्यतः .p12
फॉर्मेट में होते हैं।
SSL सर्टिफिकेट प्रबंधन पैनल में जाएँ: ServBay साइडबार में "SSL Certificates" पर क्लिक करें।
अपना कोड साइनिंग सर्टिफिकेट खोजें: सर्टिफिकेट सूची में अपने हाल ही में आवेदन किए "Code Signing" उद्देश्य वाले सर्टिफिकेट को ढूंढें।
निर्यात ऑपरेशन पर क्लिक करें: सर्टिफिकेट प्रविष्टि के दाईं ओर निर्यात आइकन (आमतौर पर दायें तीर) पर क्लिक करें।
निर्यात डायरेक्टरी चुनें और पासवर्ड सेट करें: पॉप-अप निर्यात विंडो में, लोकल सिस्टम में फाइल सेव करने का स्थान चुनें। निर्यात की गई फाइल आमतौर पर
.p12 (PKCS#12)
होती है। इसमें आपकी कोड साइनिंग सर्टिफिकेट एवम् संयोजित प्राइवेट की होती है, जो पासवर्ड से सुरक्षित होती है। इस चरण में, वही पासवर्ड डालें जो आवेदन के वक्त सेट किया था।कोड साइनिंग टूल में सर्टिफिकेट का इस्तेमाल करें: निर्यातित
.p12
फाइल को अपने कोड साइनिंग टूल में इम्पोर्ट करें। अलग-अलग ऑपरेटिंग सिस्टम और डेवेलपमेंट वातावरण में भिन्न-भिन्न टूल्स होते हैं:- macOS: बिल्ट-इन
codesign
कमांड-लाइन टूल का उपयोग करें। अक्सर.p12
फाइल को पहले macOS के Keychain Access (कीचेन एक्सेस) में इम्पोर्ट करना पड़ता है। - Windows: Windows SDK का
signtool.exe
कमांड-लाइन टूल इस्तेमाल करें। इससे पहले, शायद आपको.p12
फाइल को Windows सर्टिफिकेट मैनेजर में आयात करना पड़ेगा। - अन्य प्लेटफार्म / टूल चैन: जिस टेक स्टैक या बिल्ड टूल का उपयोग कर रहे हैं (जैसे Java का
jarsigner
, .NET काSignTool
, Go जैसे तीसरे पक्ष का साइनिंग टूल वगैरह), उनके अनुसार आयात और सिग्नेचर के तरीके देखें। आम तौर पर सभी जगह.p12
फाइल का पथ और प्राइवेट की पासवर्ड देना होगा।
- macOS: बिल्ट-इन
एक बार सर्टिफिकेट इम्पोर्ट करने के बाद, आप अपने कोड, एप्लिकेशन, ड्राइवर आदि को डिजिटल रूप से साइन कर सकते हैं।
कोड साइनिंग सर्टिफिकेट का उपयोग कर कोड पर सिग्नेचर का उदाहरण (macOS)
नीचे दिया गया उदाहरण macOS पर ServBay द्वारा निर्यातित .p12
सर्टिफिकेट और codesign
टूल का उपयोग करके किसी साधारण बाइनरी फाइल को साइन और वेरिफाई करने की प्रक्रिया दर्शाता है।
मान लीजिए आपने ServBay से निर्यातित .p12
फाइल को macOS के Keychain Access में सही पासवर्ड के साथ इम्पोर्ट कर लिया है।
bash
# 1. सिग्नेचर टेस्टिंग के लिए एक साधारण C भाषा की फाइल बनाएं
# नीचे दिया कोड test.c नाम की फाइल में सेव करें
cat <<EOF > test.c
#include <stdio.h>
int main() {
printf("Hello, ServBay Code Signing!\n");
return 0;
}
EOF
# 2. gcc का इस्तेमाल करके C फाइल को बाइनरी में कम्पाइल करें
# -o /tmp/test आउटपुट फाइल का नाम /tmp/test सेट करता है
gcc test.c -o /tmp/test
echo "सफलता से कम्पाइल हुआ, फाइल बनी /tmp/test"
# 3. कोड साइनिंग के लिए उपलब्ध सर्टिफिकेट identity खोजें
# -v डिटेल में दिखाता है
# -p codesigning कोड साइनिंग के लिए योग्य सर्टिफिकेट्स दिखाता है
# "Common Name" या hash (जैसे 99C183BC3796067FAFBA6F232D1C3C3425DAABDA) नोट करें
security find-identity -v -p codesigning
# उदाहरण आउटपुट:
# 1) ABCDEF1234567890ABCDEF1234567890ABCDEF12 "Apple Development: Your Name (XYZ123)"
# 2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay Demo Developer"
# 2 valid identities found
# ServBay सर्टिफिकेट का हैश या Common Name ("ServBay Demo Developer") नोट करें
# 4. मिले सर्टिफिकेट का उपयोग कर बाइनरी को साइन करें
# -f फोर्स सिग्नेचर (यदि पहले से सिग्नेड है तो ओवरराइट करता है)
# -s identity (हैश या Common Name) देते हैं, --timestamp टाइमस्टैम्प ऐड करता है
# /tmp/test वह फाइल है जिसे साइन करना है
codesign -f -s "ServBay Demo Developer" --timestamp /tmp/test
# या
# codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test
echo "/tmp/test को कोड साइनिंग सर्टिफिकेट से साइन किया गया"
# 5. सिग्नेचर ठीक है या नहीं जांचें
# -dvvv बहुत डिटेल्ड सिग्नेचर जानकारी देता है
codesign -dvvv /tmp/test
# आउटपुट में "Authority" फील्ड देखें, आपके सर्टिफिकेट व ServBay CA चेन दिखनी चाहिए
# "Signature size", "CDHash" आदि देख सकते हैं
# "Timestamp" भी जांचें
# उदाहरण वेरिफिकेशन आउटपुट:
# Authority=ServBay Demo Developer
# Authority=ServBay User CA - ECC Code Signing
# Authority=ServBay Public CA - ECC Root
# Timestamp=Nov 7, 2024 at 18:26:48 (डेमो तारीख)
# 6. फाइल की सामग्री बदलकर सिग्नेचर तोड़ना
# फाइल में रैंडम डाटा जोड़ना हैश बदल देगा
echo "abcde" >> /tmp/test
echo "/tmp/test की सामग्री बदल दी गई"
# 7. दोबारा सिग्नेचर वेरीफाई करें
# अब वेरिफिकेशन फेल होनी चाहिए
codesign -dvvv /tmp/test
# आउटपुट में दिखेगा:
# /tmp/test: code object is not signed at all
# या कोई ऐसा संदेश, जो दिखाता है सिग्नेचर अब मान्य नहीं है।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
विवरण:
security find-identity
कमांड किसी विशेष उपयोग (जैसेcodesigning
) के लिए keychain के सर्टिफिकेट्स दिखाता है। इसमें अपने ServBay सर्टिफिकेट की पहचान (Common Name या हैश) देखें।codesign -f -s "Your Identity"
कमांड सिग्नेचर करता है।--timestamp
सिग्नेचर को एक समय से जोड़ता है – जिससे सर्टिफिकेट के काल्पनिक एक्सपायर हो जाने पर भी, अगर साइनिंग समय पर सर्टिफिकेट वैध था और टाइमस्टैम्प सही है, तो सिग्नेचर वैध रहेगा।codesign -dvvv
कमांड सिग्नेचर का पूरा विवरण व जांच देता है।- आखरी स्टेप, फाइल को बदलना और फिर चेक करना – कोड साइनिंग की मूलभूत ताकत दिखाता है: अखंडता सत्यापन। किसी भी बदलाव के साथ सिग्नेचर अमान्य हो जाता है।
सर्टिफिकेट का नवीनीकरण (Renewal)
ServBay द्वारा जारी कोड साइनिंग सर्टिफिकेट सीमित वैधता (आमतौर पर 800 दिन) के साथ आते हैं। समय सीमा समाप्त होने से पहले, आप ServBay के SSL सर्टिफिकेट प्रबंधन पैनल में जाकर सर्टिफिकेट को रिन्यू कर सकते हैं।
- SSL सर्टिफिकेट प्रबंधन पैनल खोलें।
- जिस कोड साइनिंग सर्टिफिकेट का नवीनीकरण करना है उसे खोजें।
- रिन्यू ऑपरेशन पर क्लिक करें: सर्टिफिकेट प्रविष्टि के दाईं ओर सर्कुलर एरो (रिन्यू) आइकन पर क्लिक करें।
- रिन्यू कन्फर्म करें: रिन्यू बटन दबाते ही ServBay एक नया सर्टिफिकेट जारी करेगा, जिसकी वैधता वर्तमान तारीख से अगले 800 दिन तक होगी।
सर्टिफिकेट डिलीट करना
यदि आपको किसी कोड साइनिंग सर्टिफिकेट की अब आवश्यकता नहीं है, तो आप उसे ServBay से हटा सकते हैं।
- SSL सर्टिफिकेट प्रबंधन पैनल खोलें।
- जिस सर्टिफिकेट को हटाना है उसे खोजें।
- डिलीट ऑपरेशन पर क्लिक करें: सर्टिफिकेट प्रविष्टि के दाईं ओर डस्टबिन (कचरे का डब्बा) आइकन पर क्लिक करें।
- हटाने की पुष्टि करें: पॉप-अप कंफर्मेशन मेनू में "Delete" चुनें और पुनः पुष्टि करें। ध्यान दें, एक बार डिलीट करने के बाद सर्टिफिकेट रिकवर नहीं किया जा सकता।
सामान्य प्रश्न (FAQ)
Q: क्या ServBay के कोड साइनिंग सर्टिफिकेट मुफ्त हैं?
A: हां, ServBay आंतरिक CA के माध्यम से जारी सर्टिफिकेट ServBay की बिल्ट-इन सुविधा है, इसके लिए कोई अतिरिक्त शुल्क नहीं है।
Q: क्या मैं ServBay के सर्टिफिकेट का उपयोग कर अपने व्यावसायिक सॉफ़्टवेयर को साइन और अपने ग्राहकों को वितरित कर सकता हूं?
A: नहीं। ServBay का सर्टिफिकेट एक आंतरिक CA द्वारा जारी होता है और सार्वजनिक OS तथा सॉफ़्टवेयर स्टोर द्वारा डिफ़ॉल्ट रूप से ट्रस्ट नहीं किया जाता। ये केवल लोकल डेवलपमेंट, टेस्टिंग या इंटरनल कंट्रोल्ड एनवायरनमेंट के लिए उपयुक्त हैं। सार्वजनिक वितरण के लिए आपको किसी सार्वजनिक रूप से ट्रस्टेड सर्टिफिकेट अथॉरिटी से कोड साइनिंग सर्टिफिकेट खरीदना होगा।
Q: अगर मैंने .p12
फाइल का निर्यात करते समय रखा गया पासवर्ड भूल गया तो क्या होगा?
A: ServBay आपके प्राइवेट की का पासवर्ड नहीं रखता। पासवर्ड भूलने की स्थिति में सर्टिफिकेट की प्राइवेट की को निर्यात या उपयोग नहीं कर पाएंगे। आपको सर्टिफिकेट डिलीट कर नया कोड साइनिंग सर्टिफिकेट जनरेट करना पड़ेगा।
Q: क्या मैं ServBay User CA को अपने ऑपरेटिंग सिस्टम की ट्रस्ट स्टोरेज में जोड़ सकता हूं?
A: हां, आमतौर पर आप ServBay User CA को निर्यात कर इसे अपने ऑपरेटिंग सिस्टम या ब्राउज़र की ट्रस्ट स्टोरेज में मैन्युअली इम्पोर्ट कर सकते हैं।
संक्षिप्त सारांश
ServBay द्वारा दी गई कोड साइनिंग सर्टिफिकेट सुविधा, डेवलपर्स के लिए स्थानीय विकास, सिग्नेचर टेस्टिंग और इंटरनल टूल्स के सिग्नेचर में अत्यंत उपयोगी है। इस गाइड से, अब आप ServBay में सर्टिफिकेट के आवेदन, निर्यात और उपयोग की मौलिक प्रक्रिया समझ गए होंगे। ध्यान रखें कि ये विशेष रूप से विकास और टेस्ट के लिए हैं, सार्वजनिक विश्वास की आवश्यकताओं वाले परिदृश्यों में न इस्तेमाल करें।
अगर आवेदन या उपयोग की प्रक्रिया में कोई दिक्कत आती है, तो ServBay की आधिकारिक डोक्युमेंटेशन देखें या कम्युनिटी सहायता प्राप्त करें।