Genera un certificato X.509 self-signed insieme alle chiavi pubblica e privata corrispondenti direttamente nel browser con Web Crypto. Il certificato è firmato dalla propria chiave privata invece che da un'autorità di certificazione (CA) pubblica, il che lo rende ideale per TLS locale, ambienti di laboratorio e sviluppo — non per la fiducia pubblica sul web aperto.
Come funziona
Scegli dimensione della chiave, validità in giorni, algoritmo di firma e attributi opzionali del soggetto (common name, organizzazione e campi simili del Distinguished Name). Lo strumento crea una coppia di chiavi asimmetriche, costruisce un certificato con tali attributi e una finestra di validità, quindi lo firma con la chiave privata. L'output è tipicamente il certificato, la chiave pubblica e il materiale della chiave privata in formato PEM, che puoi installare su un server locale, un reverse proxy o un trust store per i test.
Quando usarlo
- HTTPS su
localhosto host di staging interni senza acquistare un certificato da una CA - Test rapidi di client TLS, configurazioni TLS reciproco o codice di parsing dei certificati
- Insegnare come si relazionano certificati, chiavi e periodi di validità senza attendere un'emissione ACME
Limitazioni
Browser e sistemi operativi non si fidano dei certificati self-signed per impostazione predefinita; gli utenti vedranno avvisi a meno che il certificato non sia contrassegnato esplicitamente come attendibile. Non sostituiscono i certificati Let's Encrypt o di una CA commerciale per siti pubblici in produzione. Il materiale delle chiavi non lascia mai la tua sessione del browser, ma chiunque possieda la chiave privata può impersonare il soggetto: conserva ed elimina le chiavi con cura. La scelta di algoritmo e dimensione della chiave deve corrispondere a ciò che accetta il tuo stack server.
Esempio
Una chiave RSA a 2048 bit valida 365 giorni con common name dev.local produce un certificato PEM che inizia con -----BEGIN CERTIFICATE-----, una chiave privata PEM e una chiave pubblica. Importare quella chiave privata e quel certificato in un server nginx locale o Node HTTPS abilita connessioni cifrate che mostreranno comunque un avviso di emittente non attendibile finché il certificato non viene aggiunto al trust store della macchina.