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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pki-toolbox — صندوق أدوات PKI من جانب العميل يقوم بفك ترميز عناصر X.509 و CSR و chain و CRL و PKCS#7 و PKCS#12، ويعرض ASN.1، ويحوّل الصيغ، ويولّد شهادات موقّعة ذاتيًا في المتصفح. | Kitploit
أدوات/GitHubGitHub/youkyi/pki-toolbox
أدوات دفاعيةالتحليل الثابتأدوات التشفير/فك التشفيرأمن الويبالتشفيرالخصوصيةالأدوات والمكونات
GitHubyoukyi/pki-toolbox

pki-toolbox

صندوق أدوات PKI من جانب العميل يقوم بفك ترميز عناصر X.509 و CSR و chain و CRL و PKCS#7 و PKCS#12، ويعرض ASN.1، ويحوّل الصيغ، ويولّد شهادات موقّعة ذاتيًا في المتصفح.

عرض المستودع
5113منذ 5 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

pki-toolbox

license: MIT

صندوق أدوات مستضاف ذاتيًا، يعمل بالكامل من جانب العميل لقطع PKI: شهادات X.509، وطلبات توقيع الشهادات PKCS#10، والسلاسل، وقوائم إبطال الشهادات CRLs، وحزم PKCS#7 وPKCS#12، وASN.1 الخام، وتحويل الصيغ، والبصمات، وإصدار الشهادات. بديل يحترم الخصوصية وقابل للاستضافة الذاتية عن أدوات فك ترميز الشهادات المتاحة على الإنترنت.

عرض حي: https://pki-toolbox.youkyi.net (العرض الحي هو نفس البناء الساكن الذي يمكنك استضافته ذاتيًا أدناه؛ لا شيء تلصقه يغادر متصفحك).

يتم تحليل كل بايت داخل متصفحك باستخدام @peculiar/x509 وpkijs. لا يتم رفع أي شيء إطلاقًا، والخادم الخلفي يقدّم ملفات ساكنة فقط. لا يتعين عليك تصديق ذلك: راجع الخصوصية القابلة للتحقق أدناه.

الأدوات

الأداةالفئةالوصف
فاك ترميز الشهاداتفك الترميزكل حقل في شهادة X.509: الموضوع، والمُصدر، والصلاحية، وSANs، واستخدام المفتاح، والبصمات
فاك ترميز CSRفك الترميزالموضوع، والمفتاح العام، وخوارزمية التوقيع، والامتدادات المطلوبة لطلب PKCS#10
فاك ترميز السلسلةفك الترميزيقسّم حزمة PEM المتسلسلة إلى سلسلة مرتبة ويتحقق من كل رابط من المُصدر إلى الموضوع
فاك ترميز CRLفك الترميزالإدخالات المُبطلة، والتواريخ، وأسباب الإبطال
فاك ترميز PKCS#7فك الترميزكل شهادة تحملها حزمة PKCS#7 / CMS
فاك ترميز PKCS#12فك الترميزيفتح ملفات .p12 / .pfx المحمية بكلمة مرور
البصماتالفحصSHA-1 / SHA-256 / SHA-512 لـ DER
عارض ASN.1الفحصشجرة وسم/طول/قيمة قابلة للتوسيع لأي قطعة DER
تحويل الصيغالتحويلPEM ↔ DER ↔ PKCS#7
شهادة موقّعة ذاتيًاالتوليدشهادة موقّعة ذاتيًا وزوج مفاتيح (RSA / EC / Ed25519) عبر WebCrypto
التوقيع من CAالتوليديصدر شهادة من CA موجودة: زوج مفاتيح جديد أو CSR، ورقة أو وسيطة، مع fullchain جاهز للاستخدام

يعيش الكتالوج في سجل واحد (src/lib/tools.ts) يقود شريط التنقل والشبكة الرئيسية.

حول الأدوات نفسها:

  • الصق أي شيء في الصفحة الرئيسية. يتم التعرف على القطعة من خلال بايتاتها (تسمية PEM أو ترويسة DER، راجع src/lib/pki/detect.ts) وتُفتح في الأداة التي تقرأها.
  • القطعة في الأداة الخاطئة تخبرك بذلك وتعرض الأداة الصحيحة، ناقلةً محتواها معها. يتم التسليم في الذاكرة، وليس عبر URL أبدًا، لذا يبقى بعيدًا عن ملفات السجل وسجلات الوسيط ومزامنة الإشارات المرجعية.
  • "نفس القطعة في" أسفل النتيجة تنقلها إلى الأدوات الأخرى التي تقرأها، لذا إجابة لصقة واحدة عن عدة أسئلة.
  • شريط الحكم يجيب على السؤال الذي وُجدت الأداة من أجله قبل أي صف تفاصيل، والقيم التي ينتهي بها الأمر مقتبسة في تذكرة يمكن نسخها بنقرة واحدة.
  • كل أداة تقبل قطعة ملصوقة أو ملفًا مرفوعًا، وتأتي مع مدخل عيّنة لتجربتها بدونه. / يضع المؤشر في حقل الإدخال.

الخصوصية القابلة للتحقق

الادعاء "لا يغادر متصفحك أبدًا" قابل للتحقق من داخل الصفحة:

  • كل صندوق إدخال يحمل لوحة Verify تقرأ توجيه connect-src الخاص بالصفحة من السياسة التي قُدّمت بها، وتحسب الطلبات القادرة على نقل البيانات للخارج منذ لصقك، وتُجري محاولة حية يرفضها المتصفح أمامك، مقتبسةً التوجيه الذي حجبها.
  • المفتاح الخاص الملصوق يُسمّى ويُحجب: يقول الصندوق ما يحتويه وأنه لم يغادر الصفحة، مع Clear it وShow it anyway. لا يتم فك ترميز أو نقل أو تخزين أي شيء.
  • افتح تبويب الشبكة في متصفحك أثناء فك ترميز شهادة: لن ترى طلبًا واحدًا.

تشغيله

شغّل دائمًا إصدارًا مثبّتًا وغير قابل للتغيير (vX.Y.Z)، وليس latest أبدًا: فالإصدار المتحرك لا يمكن تدقيقه أو التراجع عنه. للحصول على أقوى ضمان، ثبّت بصمة الصورة (...@sha256:...).

root@kitploit:~
docker run -p 8080:8080 ghcr.io/youkyi/pki-toolbox:v2.2.0

ثم افتح http://localhost:8080.

الصور العامة

يُنشر كل إصدار، تحت نفس الوسم الثابت vX.Y.Z، إلى:

السجلالصورة
GitHub Container Registryghcr.io/youkyi/pki-toolbox
Docker Hubyoukyi/pki-toolbox
root@kitploit:~
docker pull ghcr.io/youkyi/pki-toolbox:v2.2.0   # or
docker pull youkyi/pki-toolbox:v2.2.0

الاستضافة الذاتية باستخدام Docker Compose

root@kitploit:~
services:
  pki-toolbox:
    image: ghcr.io/youkyi/pki-toolbox:v2.2.0
    ports:
      - '8080:8080'
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    read_only: true
root@kitploit:~
docker compose up -d

يأتي المستودع بملف docker-compose.yml مُحصّن بالكامل (نظام ملفات جذر للقراءة فقط، وإسقاط القدرات، وحدود الذاكرة والمعالج)؛ استخدم ذلك الملف مباشرةً بدلًا من هذا المثال المبسّط.

الصورة مبنية من nginx:alpine-slim، وتزن حوالي 25 ميغابايت، وتستمع على المنفذ غير المميّز 8080 وتعمل كمستخدم غير جذر.

التطوير المحلي

يتطلب Node 24 (الإصدار الذي تُبنى به الصورة وCI) وpnpm 11. إصدار pnpm الدقيق مثبّت بواسطة حقل packageManager في package.json، لذا يكفي corepack enable للحصول عليه.

root@kitploit:~
pnpm install
pnpm dev          # dev server on http://localhost:5173
pnpm test         # unit tests, single run (Vitest)
pnpm test:unit    # the same tests, in watch mode
pnpm test:e2e     # end-to-end tests (Playwright)
pnpm test:e2e:ui  # the same, in the Playwright UI
pnpm check        # svelte-check / TypeScript
pnpm lint         # Prettier + ESLint
pnpm format       # rewrite files with Prettier
pnpm build        # static build into ./build
pnpm preview      # serve ./build locally

بناء صورة Docker

root@kitploit:~
docker build -t pki-toolbox .
docker run -p 8080:8080 pki-toolbox

كيف يعمل

  • SvelteKit 2 + TypeScript، مبني باستخدام adapter-static إلى HTML/JS عادي: كل مسار مُسبق العرض ولا يوجد وقت تشغيل Node في الإنتاج.
  • TailwindCSS للتنسيق، على نظام تصميم youkyi: فاتح افتراضيًا، وداكن كالثيم المميز (يُحفظ الاختيار).
  • كل التحليل يعيش في دوال نقية قابلة للاختبار تحت src/lib/pki/، بدون استيراد Svelte: parse.ts، وchain.ts، وcrl.ts، وpkcs7.ts، وpkcs12.ts، وasn1.ts، وconvert.ts، وformat.ts، وpem.ts، وoids.ts، وdetect.ts، وgenerate.ts و. كل مسار تحت هو غلاف واجهة رفيع حولها.

الوضع الأمني

  • لا خروج شبكي من التطبيق. يُصدر SvelteKit سياسة أمان المحتوى Content-Security-Policy كوسم <meta> مع connect-src 'none'؛ ويضيف nginx frame-ancestors 'none'، وX-Frame-Options، وX-Content-Type-Options، وReferrer-Policy: no-referrer، وPermissions-Policy مقيّدة، وترويسات العزل عبر الأصول. عرض Vercel الحي يرسل نفس مجموعة الترويسات (راجع vercel.json).
  • حدود المدخلات الخبيثة. كل فاك ترميز يرفض مدخلًا يتجاوز 4 ميغابايت، ومُتجوّل ASN.1 محدود في عدد العقد وعمق التداخل، لذا لا يمكن لقطعة مشوّهة أن تُعلّق التبويب.
  • وقت تشغيل مُحصّن. يعمل nginx كمستخدم غير جذر على المنفذ 8080؛ ويضيف docker-compose.yml المُرفق نظام ملفات جذر للقراءة فقط، وcap_drop: ALL، وno-new-privileges وحدود الموارد.
  • سلسلة التوريد. كلتا الصورتين الأساسيتين مثبّتتان ببصمات غير قابلة للتغيير يحافظ على تحديثها Renovate. يفشل CI عند وجود اكتشاف HIGH/CRITICAL قابل للإصلاح، سواء على المستودع () أو على الصورة المبنية حديثًا، والتي تُرفض أيضًا عندما يكون نظامها الأساسي منتهي الصلاحية، لذا لا تُدفع صورة ضعيفة أبدًا. تُفحص التراخيص في مرور منفصل غير حاجب.

الإصدارات والإصدارات

يتبع هذا المشروع الإصدار الدلالي و Conventional Commits. تُسجّل التغييرات الملحوظة في CHANGELOG.md. قواعد المساهمة موجودة في CONTRIBUTING.md.

إصدار نسخة

  1. في CHANGELOG.md، أعد تسمية ترويسة ## [Unreleased] إلى الإصدار الجديد مع تاريخ اليوم، مثل ## [1.2.3] - 2026-06-01، وأضف ## [Unreleased] فارغة جديدة فوقها، وحدّث مراجع الروابط في أسفل الملف.
  2. ارفع "version" في package.json إلى نفس الرقم.
  3. التزم على main (التزام تقليدي، مثل chore(release): 1.2.3) وادفع.
  4. ضع وسمًا على الالتزام وادفع الوسم:
    root@kitploit:~
    git tag -a v1.2.3 -m "pki-toolbox v1.2.3"
    git push origin v1.2.3
    

خط الأنابيب

يعمل Lint واختبارات الوحدة والاختبارات الشاملة عند كل دفع. تأتي مراحل الفحص والبناء والإصدار من مكونات YouKyi-Infra/ci-infrastructure/ci-catalog المشتركة (trivy-scan، وdocker-build، وgitlab-release)، المثبّتة حسب الإصدار في .gitlab-ci.yml.

يشغّل وسم vX.Y.Z السلسلة كاملة: الفحص، وبناء الصورة، وفحص الصورة، ودفع vX.Y.Z إلى سجل GitLab وإلى المرايا العامة (ghcr.io، وDocker Hub)، ثم إصدار GitLab تكون ملاحظاته هي قسم ## [X.Y.Z] المطابق المستخرج من CHANGELOG.md (القسم الفارغ يفشل المهمة بدلًا من نشر ملاحظات فارغة).

يشغّل الدفع إلى main نفس خط الأنابيب ناقصًا خطوة الإصدار، وتعمل مهمة الصورة فقط عندما يتغير ملف يؤثر على البناء، لذا لا يعيد دفع التوثيق أو الإعدادات فقط بناء الصورة.

تُحافظ Renovate على تحديث التبعيات، والتي توسّع الإعداد المسبق المشترك Renovate-Bot/renovate-config (راجع renovate.json).

الترخيص

MIT

تنزيل الأداة
sign.ts
src/routes/
  • @peculiar/x509 v2 يبني كائناته عبر tsyringe، الذي يحتاج إلى polyfill لبيانات Reflect الوصفية على جانب المستهلك، لذا يُستورد @abraham/reflection قبله في كل وحدة تستخدم المكتبة.
  • PKCS#7 وPKCS#12 يمران عبر pkijs، الذي يُسجّل محرك Web Crypto الخاص به مرة واحدة في src/lib/pki/engine.ts.
  • اختبارات الوحدة تعيش في tests/pki/ (Vitest) واختبارات المتصفح في e2e/ (Playwright). العينات هي جذور عامة حقيقية (ISRG Root X1/X2) بالإضافة إلى سلسلة EC وCSR مُولّدين، راجع scripts/generate-fixtures.mjs.
  • trivy fs
  • إمكانية الوصول. الواجهة تستوفي WCAG 2.2 AA.