Ho il seguente problema: utilizziamo TLS con la verifica del certificato client per identificare i client in un servizio. A tal fine, abbiamo creato un'autorità di certificazione autofirmata, che non fa altro che firmare i certificati per questi clienti e verificarne la validità. Replichiamo questa configurazione nel nostro ambiente di sviluppo.
La CA di sviluppo è appena scaduta, quindi non è possibile emettere nuovi certificati nel nostro ambiente di sviluppo. Abbiamo ancora un po 'di tempo per la CA di produzione, ma vorrei capire se esiste un processo fluido per la migrazione da un certificato CA scaduto a un nuovo non scaduto senza rompere i certificati esistenti.
La soluzione ingenua è generare un nuovo certificato CA e sostituire quello vecchio. Tuttavia, credo che ciò causerà la mancata validazione dei client esistenti.
Ho fatto un po 'di googling e di lettura, e credo che quello che devo fare sia ..
- Crea un nuovo certificato CA e utilizzalo per firmare nuovi certificati client
- Crea una sorta di certificato "combo" che include sia il nuovo certificato CA che il vecchio certificato CA e lo utilizza per la validazione dei client (bridge? chain?)
Il punto 2 è dove non riesco a trovare la documentazione dettagliata. Domande generali aggiuntive che ho:
- È possibile impostare il certificato "combo" in modo che possa essere utilizzato sia per l'emissione di nuovi certificati sia per la convalida di certificati vecchi e nuovi? Come, è possibile indicare "questo certificato è in realtà 2 certificati, e il nuovo è quello che dovrebbe essere usato per firmare nuovi clienti?" Questo è strettamente un problema pratico: meno file di cui tenere traccia.
- Dovrei semplicemente evitare di combinare qualcosa e usare solo entrambi i certificati CA nel trust pool del software di validazione? Immagino che questo risale alla prima domanda ..
Scusa per il linguaggio vago, sto evitando espressamente termini x509 specifici perché temo che li userò in modo errato e confonderò la domanda.