feat: X.509 Certificate & CSR Inspector — decode PEM/DER certificates safely in-browser

Aperta
#80 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
react, typescript
Ambito
frontend, security

Direzione di ricerca

Start with the proposed entry point, src/tools/cert-inspector/CertInspectorTool.tsx, and inspect how existing tools are implemented and registered in the tool registry. Then check how dependencies are declared and how client-side behavior is tested. Done means the listed certificate and CSR information is displayed, private-key material triggers a warning without network calls, and the registry entry is present.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement new tool security wave-3

Summary

Add an X.509 Certificate & CSR Inspector tool. Developers debug SSL/TLS issues constantly — checking SANs, expiry dates, issuer chains, and CSR contents. Current online decoders are a critical security hazard because developers accidentally paste private keys alongside certificates.

🔴 CRITICAL Privacy/Security

If a developer accidentally pastes a .pem bundle that includes their Private Key, the key is immediately transmitted to and compromised by a third-party server. This is an active security incident in corporate environments.

Toolglass processes everything client-side. Private keys never leave the browser.

Proposed Implementation

  • Location: src/tools/cert-inspector/CertInspectorTool.tsx
  • Dependency: pkijs + asn1js (both run 100% in-browser, parse ASN.1 DER/PEM structures)
  • Features:
    • Paste PEM or upload DER file
    • Auto-detect and show warning if private key material is detected (but never transmit it)
    • Decode and display:
      • Subject (CN, O, OU, C)
      • Issuer CA
      • Subject Alternative Names (SANs) — DNS entries, IP addresses
      • Validity Period (Not Before / Not After) with "Expires in X days" countdown
      • Key Algorithm & Bit Length (RSA-2048, ECDSA P-256, etc.)
      • Serial Number
      • SHA-256 Fingerprint
      • Certificate chain visualization
    • CSR Inspector: decode and show requested domains/attributes
    • Expiry alert: Red banner if cert is expired, yellow if < 30 days

Acceptance Criteria

  • Decodes standard PEM certificates correctly
  • Shows all SAN entries
  • Detects and warns about private key material
  • Expiry countdown works
  • CSR decoding works
  • Zero network calls
  • Registry entry with lock/shield icon
Lingua principale
TypeScript
Stelle
2
Fork
1
Merge medio
9h 18m
PR unite (30g)
31

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ajithakdev/toolglass

Tutte le issue di ajithakdev/toolglass

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.