Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mkchain — एक मान्य SSL प्रमाणपत्र श्रृंखला बनाने में आपकी सहायता करने के लिए ओपन सोर्स टूल। | Kitploit
उपकरण/GitHubGitHub/trimstray/mkchain
एन्क्रिप्शन/डिक्रिप्शन उपकरणक्रिप्टोग्राफीउपयोगिताएँ और फ्रेमवर्क
GitHubtrimstray/mkchain

mkchain

एक मान्य SSL प्रमाणपत्र श्रृंखला बनाने में आपकी सहायता करने के लिए ओपन सोर्स टूल।

रिपॉजिटरी देखें
381521 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

mkchain

आपको एक मान्य SSL प्रमाणपत्र श्रृंखला बनाने में मदद करने के लिए एक मुक्त स्रोत उपकरण।

Travis-CI Version License

विवरण • उपयोग कैसे करें • पैरामीटर • यह कैसे काम करता है • आवश्यकताएँ • अन्य • लाइसेंस


Master

विवरण

यह एक मुक्त स्रोत उपकरण है जो आपको एक मान्य SSL प्रमाणपत्र श्रृंखला बनाने में मदद करता है। यह अधूरी श्रृंखला को ठीक करने और सभी लापता CA प्रमाणपत्रों को डाउनलोड करने में भी आपकी मदद कर सकता है। आप रिमोट सर्वर से सभी प्रमाणपत्र डाउनलोड कर सकते हैं और अपनी प्रमाणपत्र श्रृंखला सही पाएँ।

उपयोग कैसे करें

यह सरल है:

root@kitploit:~
# Clone this repository
git clone https://github.com/trimstray/mkchain

# Go into the repository
cd mkchain

# Install
./setup.sh install

# Run the app
mkchain -i /data/certs -o /data/chain.crt
  • bin/mkchain का सिमलिंक /usr/local/bin में रखा जाता है
  • मैन पेज /usr/local/man/man8 में रखा जाता है

पैरामीटर

निम्नलिखित विकल्प प्रदान करता है:

root@kitploit:~
  Usage:
    mkchain <option|long-option>

  Examples:
    mkchain --in Root.crt --in Intermediate1.crt --in Server.crt --out bundle_chain_certs.crt
    mkchain --in /tmp/certs --out bundle_chain_certs.crt --with-root
    mkchain -i Server.crt -o bundle_chain_certs.crt
    mkchain -i https://incomplete-chain.badssl.com/ --with-root

  Options:
        --help        show this message
        --debug       displays information on the screen (debug mode)
    -i, --in          add certificates to merge (file, multiple files, directory with ssl certificates
                      or remote domain)
    -o, --out         saves the result (chain) to a file
        --with-root   add root certificate to certificates chain

-o|--out - इस पैरामीटर के बिना mkchain आउटपुट श्रृंखला को mkchain/chains/ निर्देशिका में सहेजता है।

यह कैसे काम करता है

इसे पढ़ने से पहले, कृपया SSL प्रमाणपत्र श्रृंखला के बारे में लेख देखें।

आइए ssllabs प्रमाणपत्र श्रृंखला से शुरू करते हैं। वे mkchain के साथ वितरित किए जाते हैं और example/ssllabs.com निर्देशिका में पाए जा सकते हैं, जिसमें अतिरिक्त रूप से all निर्देशिका (श्रृंखला को जोड़ने के लिए आवश्यक सभी प्रमाणपत्र युक्त) और server_certificate निर्देशिका (केवल सर्वर प्रमाणपत्र) शामिल हैं।

ssllabs.com डोमेन के लिए सही श्रृंखला (openssl कमांड का परिणाम):

root@kitploit:~
Certificate chain
 0 s:/C=US/ST=California/L=Redwood City/O=Qualys, Inc./CN=ssllabs.com
   i:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2012 Entrust, Inc. - for authorized use only/CN=Entrust Certification Authority - L1K
 1 s:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2012 Entrust, Inc. - for authorized use only/CN=Entrust Certification Authority - L1K
   i:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2009 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G2
 2 s:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2009 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G2
   i:/C=US/O=Entrust, Inc./OU=www.entrust.net/CPS is incorporated by reference/OU=(c) 2006 Entrust, Inc./CN=Entrust Root Certification Authority

उपरोक्त कोड एक पूर्ण श्रृंखला प्रस्तुत करता है जिसमें शामिल हैं:

  • पहचान प्रमाणपत्र (सर्वर प्रमाणपत्र)

    ssllabs.com के लिए Entrust Certification Authority - L1K द्वारा जारी किया गया

  • मध्यवर्ती प्रमाणपत्र

    Entrust Certification Authority - L1K के लिए Entrust Root Certification Authority - G2 द्वारा जारी किया गया

  • मध्यवर्ती प्रमाणपत्र

    Entrust Root Certification Authority - G2 के लिए Entrust Root Certification Authority द्वारा जारी किया गया

  • रूट प्रमाणपत्र (स्व-हस्ताक्षरित प्रमाणपत्र)

    Entrust Root Certification Authority के लिए Entrust Root Certification Authority द्वारा जारी किया गया

परिदृश्य 1

इस परिदृश्य में, हम सभी वितरित प्रमाणपत्रों को श्रृंखलाबद्ध करेंगे। उपकरण चलाने का उदाहरण:

Master

परिदृश्य 2

इस परिदृश्य में, हम केवल सर्वर प्रमाणपत्र का उपयोग करते हैं और इसका उपयोग शेष आवश्यक प्रमाणपत्रों को प्राप्त करने के लिए करते हैं। फिर, ऊपर की तरह, हम सभी प्रदान किए गए प्रमाणपत्रों को जोड़ेंगे। उपकरण चलाने का उदाहरण:

Master

प्रमाणपत्र श्रृंखला

एक मान्य श्रृंखला बनाने के लिए, आपको उपकरण को सभी आवश्यक प्रमाणपत्र प्रदान करने होंगे (यदि आप -i|--in पैरामीटर के लिए निर्देशिका सेट करते हैं)। ये होंगे:

  • सर्वर प्रमाणपत्र
  • मध्यवर्ती CA और रूट CA

यह बहुत महत्वपूर्ण है क्योंकि इसके बिना आप श्रृंखला के आरंभ और अंत का निर्धारण नहीं कर पाएंगे।

यदि आप केवल एक प्रमाणपत्र फ़ाइल को -i|--in मान के रूप में सेट करते हैं, तो mkchain स्वचालित रूप से सभी आवश्यक प्रमाणपत्र डाउनलोड करता है।

हालाँकि, यदि आप mkchain के साथ उत्पन्न करने के बाद उत्पन्न श्रृंखला के अंदर देखते हैं, तो आपको वहाँ रूट प्रमाणपत्र नहीं मिलेगा।

क्यों? क्योंकि स्व-हस्ताक्षरित रूट प्रमाणपत्रों को वेब सर्वर कॉन्फ़िगरेशन में शामिल करने की आवश्यकता/चाहिए नहीं है। वे कोई उद्देश्य नहीं रखते (क्लाइंट हमेशा उन्हें अनदेखा करेंगे) और वे हल्का प्रदर्शन (विलंबता) दंड लगाते हैं क्योंकि वे SSL हैंडशेक का आकार बढ़ाते हैं।

यदि आप प्रमाणपत्र श्रृंखला में एक रूट प्रमाणपत्र जोड़ना चाहते हैं, तो उपयोगिता को --with-root पैरामीटर के साथ कॉल करें।

प्रमाणन पथ

mkchain दो प्रमाणन पथों के उपयोग की अनुमति देता है:

Master

आउटपुट टिप्पणियाँ

प्रमाणपत्रों की श्रृंखला उत्पन्न करते समय, mkchain प्रमाणपत्रों के बारे में जानकारी के साथ टिप्पणियाँ प्रदर्शित करता है, जिसमें कोई भी त्रुटि शामिल है।

यहाँ सभी संभावनाओं की सूची है:

पहचान (अंत-उपयोगकर्ता, सर्वर) प्रमाणपत्र नहीं मिला

यह संदेश तब प्रदर्शित होता है जब सर्वर प्रमाणपत्र की अनुपस्थिति होती है जो श्रृंखला की शुरुआत है। यह एक अद्वितीय मामला है क्योंकि इस स्थिति में mkchain केवल यह जानकारी प्रदर्शित करके अपना संचालन समाप्त करता है। सर्वर प्रमाणपत्र एकमात्र प्रमाणपत्र है जो सही ढंग से श्रृंखला बनाने के लिए आवश्यक है। इस प्रमाणपत्र के बिना, सही श्रृंखला नहीं बनाई जाएगी।

सही पहचान (अंत-उपयोगकर्ता, सर्वर) प्रमाणपत्र मिला

यहाँ विपरीत स्थिति है - संदेश तब प्रदर्शित होता है जब एक मान्य सर्वर प्रमाणपत्र पाया जाता है।

पहला मध्यवर्ती प्रमाणपत्र नहीं मिला

यह संदेश तब प्रकट होता है जब दो मध्यवर्ती प्रमाणपत्रों में से पहला नहीं मिलता है। यह जानकारी स्पष्ट रूप से दूसरे मध्यवर्ती प्रमाणपत्र की अनुपस्थिति निर्दिष्ट नहीं करती है और दूसरी ओर यह निर्धारित करने की अनुमति देती है कि जिस मध्यवर्ती प्रमाणपत्र पर सर्वर प्रमाणपत्र हस्ताक्षरित किया गया था वह मौजूद है या नहीं। इसके अतिरिक्त, यह प्रदर्शित हो सकता है यदि दूसरा मध्यवर्ती प्रमाणपत्र वितरित किया गया है।

दूसरा मध्यवर्ती प्रमाणपत्र नहीं मिला

ऊपर के समान, हालाँकि यह दूसरे मध्यवर्ती प्रमाणपत्र से संबंधित है। हालाँकि, दूसरे प्रमाणन पथ का उपयोग करके श्रृंखला को सही ढंग से बनाना संभव है, उदाहरण के लिए पहले मध्यवर्ती प्रमाणपत्र का उपयोग करके और दूसरे को मुख्य प्रमाणपत्र से बदलकर।

एक या अधिक मध्यवर्ती प्रमाणपत्र नहीं मिला

यह संदेश इंगित करता है कि आवश्यक मध्यवर्ती प्रमाणपत्रों में से एक या सभी गायब हैं और रूट प्रमाणपत्र की अनुपस्थिति में प्रदर्शित होता है।

'n' सही मध्यवर्ती प्रमाणपत्र मिले

यह संदेश मान्य मध्यवर्ती प्रमाणपत्रों की संख्या इंगित करता है।

सही रूट प्रमाणपत्र नहीं मिला

रूट प्रमाणपत्र की कमी को चेतावनी के रूप में माना जाता है। बेशक, सर्वर साइड पर प्रमाणपत्र कॉन्फ़िगर करते समय, रूट प्रमाणपत्र संलग्न करने की अनुशंसा नहीं की जाती है, लेकिन यदि आप इसे mkchain के साथ बनाते हैं, तो यह श्रृंखला को अधूरा मानता है और श्रृंखला के गलत निर्माण के बारे में जानकारी प्रदर्शित करता है।

एक प्रमाणपत्र में खाली CN फ़ील्ड पाया गया

यह संदेश त्रुटि या CN फ़ील्ड की कमी के बारे में सूचित नहीं करता है जो कुछ प्रमाणपत्रों के साथ हो सकता है (example/google.com देखें)। Common Name फ़ील्ड प्रमाणपत्र से जुड़े होस्ट नाम की पहचान करता है। RFC3280 में जारीकर्ता DN के लिए CN होना आवश्यक नहीं है। अधिकांश CA जारीकर्ता DN में CN शामिल करते हैं, लेकिन कुछ नहीं करते, जैसे यह Equifax CA।

आवश्यकताएँ

mkchain चलाने से पहले बाहरी उपयोगिताओं को स्थापित करने की आवश्यकता है:

  • OpenSSL (परीक्षण 1.1.0g/h पर)

यह उपकरण इसके साथ काम करता है:

  • GNU/Linux (परीक्षण Debian और CentOS पर)
  • Bash (परीक्षण 4.4.19 पर)

MacOS/FreeBSD:

  • getopt(1) के लिए प्रतिस्थापन जो GNU-शैली के लंबे विकल्पों का समर्थन करता है (pkg install getopt)
  • MacOS पर coreutils से greadlink के साथ भी काम करता है (homebrew के माध्यम से स्थापित)

अन्य

योगदान

यह देखें।

परियोजना वास्तुकला

यह देखें।

लाइसेंस

GPLv3 : http://www.gnu.org/licenses/

मुफ्त सॉफ्टवेयर, हाँ!

टूल डाउनलोड करें