
क्लाइंट-साइड PKI टूलबॉक्स जो X.509, CSR, chain, CRL, PKCS#7 और PKCS#12 आर्टिफैक्ट्स को डिकोड करता है, ASN.1 देखता है, फॉर्मेट कन्वर्ट करता है, और ब्राउज़र में सेल्फ-साइन्ड सर्टिफिकेट जनरेट करता है।
PKI आर्टिफ़ैक्ट्स के लिए एक सेल्फ-होस्टेड, 100% क्लाइंट-साइड टूलबॉक्स: X.509 प्रमाणपत्र, PKCS#10 CSR, चेन, CRL, PKCS#7 और PKCS#12 बंडल, रॉ ASN.1, फ़ॉर्मेट रूपांतरण, फ़िंगरप्रिंट और प्रमाणपत्र जारी करना। ऑनलाइन सर्टिफ़िकेट डिकोडर के लिए एक गोपनीयता-सम्मानजनक, सेल्फ-होस्ट करने योग्य विकल्प।
लाइव डेमो: https://pki-toolbox.youkyi.net (डेमो वही स्टैटिक बिल्ड है जिसे आप नीचे सेल्फ-होस्ट कर सकते हैं; आप जो भी पेस्ट करते हैं वह आपके ब्राउज़र से बाहर नहीं जाता)।
हर बाइट को आपके ब्राउज़र के अंदर @peculiar/x509
और pkijs के साथ पार्स किया जाता है। कुछ भी कभी भी
अपलोड नहीं होता, बैकएंड केवल स्टैटिक फ़ाइलें भेजता है। आपको इसे विश्वास पर
नहीं लेना है: नीचे जाँचने योग्य गोपनीयता देखें।
| टूल | श्रेणी | विवरण |
|---|---|---|
| सर्टिफ़िकेट डिकोडर | डिकोडिंग | X.509 प्रमाणपत्र का हर फ़ील्ड: सब्जेक्ट, इश्यूअर, वैधता, SAN, की उपयोग, फ़िंगरप्रिंट |
| CSR डिकोडर | डिकोडिंग | PKCS#10 अनुरोध का सब्जेक्ट, पब्लिक की, सिग्नेचर एल्गोरिद्म और अनुरोधित एक्सटेंशन |
| चेन डिकोडर | डिकोडिंग | एक संयोजित PEM बंडल को क्रमबद्ध चेन में विभाजित करता है और हर इश्यूअर-से-सब्जेक्ट लिंक को सत्यापित करता है |
| CRL डिकोडर | डिकोडिंग | निरस्त प्रविष्टियाँ, तिथियाँ और निरस्तीकरण के कारण |
| PKCS#7 डिकोडर | डिकोडिंग | PKCS#7 / CMS बंडल द्वारा ले जाया गया हर प्रमाणपत्र |
| PKCS#12 डिकोडर | डिकोडिंग | पासवर्ड-सुरक्षित .p12 / .pfx फ़ाइलें खोलता है |
| फ़िंगरप्रिंट | निरीक्षण | DER का SHA-1 / SHA-256 / SHA-512 |
| ASN.1 व्यूअर | निरीक्षण | किसी भी DER आर्टिफ़ैक्ट का विस्तारणीय टैग/लंबाई/मान ट्री |
| फ़ॉर्मेट रूपांतरण | रूपांतरण | PEM ↔ DER ↔ PKCS#7 |
| स्व-हस्ताक्षरित प्रमाणपत्र | जनरेशन | WebCrypto के माध्यम से स्व-हस्ताक्षरित प्रमाणपत्र और की पेयर (RSA / EC / Ed25519) |
| CA से हस्ताक्षर करें | जनरेशन | मौजूदा CA से प्रमाणपत्र जारी करता है: नई की पेयर या CSR, लीफ या इंटरमीडिएट, उपयोग के लिए तैयार फ़ुलचेन के साथ |
कैटलॉग एक ही रजिस्ट्री (src/lib/tools.ts) में रहता है जो
नेवबार और होम ग्रिड को नियंत्रित करती है।
टूल्स के अलावा:
src/lib/pki/detect.ts देखें) और उसे पढ़ने वाले टूल में खुलता है।/ कर्सर को इनपुट में रखता है।दावा "यह कभी आपके ब्राउज़र से बाहर नहीं जाता" पेज के अंदर से सत्यापन योग्य है:
connect-src निर्देश को पढ़कर दिखाता है जिसके साथ वह सर्व किया गया था, आपके पेस्ट करने के बाद से
डेटा बाहर ले जाने में सक्षम अनुरोधों की गिनती करता है, और एक लाइव प्रयास चलाता है जिसे
ब्राउज़र आपके सामने अस्वीकार कर देता है, उस निर्देश को उद्धृत करते हुए जिसने इसे रोका।हमेशा एक पिन किया गया, अपरिवर्तनीय रिलीज़ टैग (vX.Y.Z) चलाएँ, कभी भी latest नहीं: एक बदलता हुआ
टैग ऑडिट या रोलबैक नहीं किया जा सकता। सबसे मज़बूत गारंटी के लिए, इमेज डाइजेस्ट (...@sha256:...) पिन करें।
docker run -p 8080:8080 ghcr.io/youkyi/pki-toolbox:v2.2.0
फिर http://localhost:8080 खोलें।
प्रत्येक रिलीज़ को उसी अपरिवर्तनीय vX.Y.Z टैग के अंतर्गत, इनमें प्रकाशित किया जाता है:
| रजिस्ट्री | इमेज |
|---|---|
| GitHub Container Registry | ghcr.io/youkyi/pki-toolbox |
| Docker Hub | youkyi/pki-toolbox |
docker pull ghcr.io/youkyi/pki-toolbox:v2.2.0 # or
docker pull youkyi/pki-toolbox:v2.2.0
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
docker compose up -d
रिपॉज़िटरी एक पूरी तरह से हार्डन किया गया docker-compose.yml प्रदान करती है (रीड-ओनली रूट
फ़ाइलसिस्टम, ड्रॉप्ड कैपेबिलिटीज़, मेमोरी और CPU सीमाएँ); इस न्यूनतम उदाहरण के बजाय
उसी फ़ाइल का सीधे उपयोग करें।
इमेज nginx:alpine-slim से बनाई गई है, इसका वज़न लगभग 25 MB है, यह
गैर-विशेषाधिकार प्राप्त पोर्ट 8080 पर सुनता है और गैर-रूट उपयोगकर्ता के रूप में चलता है।
Node 24 (वह संस्करण जिसके साथ इमेज और CI बनते हैं) और pnpm 11 आवश्यक हैं।
सटीक pnpm संस्करण package.json के packageManager फ़ील्ड द्वारा पिन किया गया है,
इसलिए इसे प्राप्त करने के लिए corepack enable पर्याप्त है।
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 build -t pki-toolbox .
docker run -p 8080:8080 pki-toolbox