Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mkchain — أداة مفتوحة المصدر لمساعدتك في بناء سلسلة شهادات SSL صالحة. | Kitploit
أدوات/GitHubGitHub/trimstray/mkchain
أدوات التشفير/فك التشفيرالتشفيرالأدوات والمكونات
GitHubtrimstray/mkchain

mkchain

أداة مفتوحة المصدر لمساعدتك في بناء سلسلة شهادات SSL صالحة.

عرض المستودع
38152منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

mkchain

أداة مفتوحة المصدر لمساعدتك في بناء سلسلة شهادات SSL صالحة.

Travis-CI إصدار الترخيص

الوصف • طريقة الاستخدام • المعاملات • كيف يعمل • المتطلبات • أخرى • الترخيص


الشعار الرئيسي

الوصف

هي أداة مفتوحة المصدر لمساعدتك في بناء سلسلة شهادات SSL صالحة. يمكنها أيضًا مساعدتك في إصلاح السلسلة غير المكتملة وتنزيل جميع شهادات CA المفقودة. يمكنك أيضًا تنزيل جميع الشهادات من الخادم البعيد والحصول على سلسلة الشهادات الصحيحة.

طريقة الاستخدام

الأمر بسيط:

root@kitploit:~
# استنساخ هذا المستودع
git clone https://github.com/trimstray/mkchain

# الانتقال إلى المستودع
cd mkchain

# التثبيت
./setup.sh install

# تشغيل التطبيق
mkchain -i /data/certs -o /data/chain.crt
  • يتم وضع الرابط الرمزي لـ bin/mkchain في /usr/local/bin
  • يتم وضع صفحة الدليل في /usr/local/man/man8

المعاملات

يوفر الخيارات التالية:

root@kitploit:~
  الاستخدام:
    mkchain <خيار|خيار-طويل>

  أمثلة:
    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

  الخيارات:
        --help        عرض هذه الرسالة
        --debug       عرض المعلومات على الشاشة (وضع التصحيح)
    -i, --in          إضافة الشهادات لدمجها (ملف، ملفات متعددة، دليل يحتوي على شهادات SSL
                      أو نطاق بعيد)
    -o, --out         حفظ النتيجة (السلسلة) في ملف
        --with-root   إضافة شهادة الجذر إلى سلسلة الشهادات

-o|--out - بدون هذا المعامل، يحفظ mkchain السلسلة الناتجة في دليل mkchain/chains/.

كيف يعمل

قبل القراءة، يرجى الاطلاع على المقال حول سلسلة شهادات SSL.

لنبدأ بسلسلة شهادات ssllabs. يتم تسليمها مع mkchain ويمكن العثور عليها في دليل example/ssllabs.com الذي يحتوي بالإضافة إلى ذلك على دليل all (الذي يحتوي على جميع الشهادات اللازمة لتجميع السلسلة) ودليل server_certificate (الذي يحتوي فقط على شهادة الخادم).

السلسلة الصحيحة لنطاق ssllabs.com (نتيجة أمر openssl):

root@kitploit:~
سلسلة الشهادات
 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

في هذا السيناريو، سنقوم بتسلسل جميع الشهادات المقدمة. مثال على تشغيل الأداة:

الشعار الرئيسي

السيناريو 2

في هذا السيناريو، نستخدم فقط شهادة الخادم ونستخدمها لاسترداد الشهادات المطلوبة المتبقية. ثم، كما هو مذكور أعلاه، سنقوم بدمج جميع الشهادات المقدمة. مثال على تشغيل الأداة:

الشعار الرئيسي

سلسلة الشهادات

من أجل إنشاء سلسلة صالحة، يجب تزويد الأداة بجميع الشهادات الضرورية (إذا قمت بتعيين دليل لمعامل -i|--in). ستكون:

  • شهادة الخادم
  • السلطات المصدقة الوسيطة و السلطات المصدقة الجذرية

هذا مهم جدًا لأنه بدونها لن تتمكن من تحديد بداية ونهاية السلسلة.

إذا قمت بتعيين ملف شهادة فقط كقيمة لـ -i|--in، فإن mkchain يقوم تلقائيًا بتنزيل جميع الشهادات الضرورية.

ومع ذلك، إذا نظرت داخل السلسلة الناتجة بعد التوليد باستخدام mkchain، فلن تجد شهادة الجذر هناك.

لماذا؟ لأن شهادات الجذر الموقعة ذاتيًا لا تحتاج/لا ينبغي تضمينها في تكوين خادم الويب. لا تخدم أي غرض (سيتجاهلها العملاء دائمًا) وتسبب عبئًا طفيفًا في الأداء (زمن الاستجابة) لأنها تزيد من حجم المصافحة SSL.

إذا كنت ترغب في إضافة شهادة جذر إلى سلسلة الشهادات، فاستدع الأداة باستخدام المعامل --with-root.

مسارات التصديق

يسمح mkchain باستخدام مسارين للتصديق:

الشعار الرئيسي

تعليقات المخرجات

عند توليد سلسلة الشهادات، يعرض mkchain تعليقات تحتوي على معلومات حول الشهادات، بما في ذلك أي أخطاء.

فيما يلي قائمة بجميع الاحتمالات:

لم يتم العثور على شهادة الهوية (المستخدم النهائي، الخادم)

تظهر الرسالة في حالة عدم وجود شهادة خادم تمثل بداية السلسلة. هذه حالة فريدة لأنه في هذه الحالة ينهي mkchain عمله بعرض هذه المعلومات فقط. شهادة الخادم هي الشهادة الوحيدة المطلوبة لإنشاء سلسلة بشكل صحيح. بدون هذه الشهادة، لن يتم إنشاء السلسلة الصحيحة.

تم العثور على شهادة هوية صحيحة (المستخدم النهائي، الخادم)

الوضع المعاكس هنا - تظهر رسالة عند العثور على شهادة خادم صالحة.

لم يتم العثور على أول شهادة وسيطة

تظهر هذه الرسالة عندما لا يتم العثور على أول شهادتين وسيطتين. لا تحدد هذه المعلومات صراحة عدم وجود شهادة وسيطة ثانية، ومن ناحية أخرى تسمح بتحديد ما إذا كانت الشهادة الوسيطة التي تم التوقيع على شهادة الخادم عليها موجودة. بالإضافة إلى ذلك، يمكن عرضها إذا تم تسليم الشهادة الوسيطة الثانية.

لم يتم العثور على ثاني شهادة وسيطة

مماثلة لما سبق، ولكنها تتعلق بالشهادة الوسيطة الثانية. ومع ذلك، من الممكن إنشاء السلسلة بشكل صحيح باستخدام مسار التصديق الثاني، على سبيل المثال باستخدام الشهادة الوسيطة الأولى واستبدال الثانية بالشهادة الرئيسية.

لم يتم العثور على شهادة وسيطة واحدة أو أكثر

تعني هذه الرسالة أن واحدة أو جميع الشهادات الوسيطة المطلوبة مفقودة، وتظهر في حالة عدم وجود شهادة الجذر.

تم العثور على 'n' شهادة وسيطة صحيحة

تشير هذه الرسالة إلى عدد الشهادات الوسيطة الصالحة.

لم يتم العثور على شهادة جذر صحيحة

يتم التعامل مع عدم وجود شهادة الجذر كتحذير. بالطبع، عند تكوين الشهادات على جانب الخادم، لا يُنصح بإرفاق شهادة جذر، ولكن إذا قمت بإنشائها باستخدام mkchain، فإنه يتعامل مع السلسلة على أنها غير مكتملة ويعرض معلومات حول الإنشاء غير الصحيح للسلسلة.

تم العثور على حقل CN فارغ في إحدى الشهادات

لا تخبر هذه الرسالة عن الخطأ وعن عدم وجود حقل CN، والذي يمكن أن يحدث مع بعض الشهادات (انظر إلى example/google.com). حقل الاسم الشائع يحدد اسم المضيف المرتبط بالشهادة. لا يوجد شرط في RFC3280 أن يكون للمُصدر DN حقل CN. معظم CAs تتضمن CN في المُصدر DN، لكن البعض لا يفعل ذلك، مثل 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 مع greadlink من coreutils (مثبت عبر homebrew)

أخرى

المساهمة

انظر هذا.

بنية المشروع

انظر هذا.

الترخيص

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

برنامج حر، أجل!

تنزيل الأداة