Come posso rinnovare la mia chiave di firma dell'autorità di certificazione?
Hai due problemi da affrontare. Il primo è la continuità dei certificati di entità finale (server e utente). Il secondo è il cambio della CA principale.
C'è un modo in cui posso semplicemente creare un nuovo file ca.crt con una data di scadenza più lunga?
Sì, ma vedi i dettagli di seguito.
Il primo problema, la continuità dei certificati di entità finale (server e utente), viene risolto principalmente utilizzando la stessa chiave pubblica quando si passa il mouse sulla CA principale.
La nuova CA radice autofirmata dovrà comunque essere installata nei relativi archivi fiduciari, ma la continuità chiave implica che i certificati delle entità finali non dovranno essere riemessi. Se si utilizza una nuova chiave pubblica per la CA principale, sarà necessario riemettere tutti i certificati dell'entità finale.
Il secondo problema, il roll over della CA principale, deve verificarsi perché è scaduto. Questo è lo stesso problema della ricertificazione di una CA principale poiché l'hash viene modificato da SHA-1 a SHA-256 per soddisfare i requisiti di base CA / Browser . Numerose autorità competenti lo hanno fatto nella vita reale.
L'impatto del rollover può essere ridotto utilizzando la stessa chiave pubblica. Ciò consentirà inoltre di migliorare i controlli di sicurezza, come bloccare la chiave pubblica di una CA. Se il certificato CA viene bloccato (al contrario della chiave pubblica ), creerà molto rumore estraneo in strumenti come Cert Patrol .
Per eseguire il rollover della CA, è necessario creare un certificato CA radice "equivalente" (o il più vicino possibile all'equivalente). Il modo in cui gli interpreti identificano in modo univoco un certificato è indicato in RFC 4158, Internet X.509 Infrastruttura a chiave pubblica: costruzione del percorso di certificazione .
L'abbreviazione di RFC 4158 è la coppia { Nome distinto soggetto , numero di serie } che può essere utilizzata per identificare in modo univoco un certificato in un negozio. Come una CA o dell'Emittente, si suppone per garantire i numeri di serie sono unici, anche se si ri-certificare.
I certificati delle entità finali hanno altri modi per essere identificati in modo univoco, incluso l' identificatore della chiave di autorità (AKID) . In effetti, il certificato di un server può utilizzare un hash del { Nome distinto soggetto , numero di serie } dell'Emittente come AKID (se ricordo bene).
Sembra che tu abbia capito come creare un certificato CA autofirmato, quindi non parlerò dei comandi OpenSSL.
I problemi reali si verificano quando le coppie di chiavi pubbliche / private sono compromesse. Non è possibile eseguire il rollover della propria CA con la chiave pubblica esistente, quindi è necessario emettere un nuovo certificato CA principale e rilasciare nuovamente tutti i certificati delle entità finali.
Per ricapitolare, ecco gli oggetti utilizzabili:
- Utilizzare la stessa chiave pubblica per CA
- Usa lo stesso nome distinto per CA
- Utilizzare il nuovo numero di serie per CA
- Installare la CA di nuova emissione su tutti i computer client
- Non emettere nuovamente i certificati delle entità finali