- Supponiamo di avere un client applicazione che comunica con un server tramite SSL.
- Supponiamo inoltre che il client stia utilizzando il blocco del certificato SSL, ovvero il client rifiuterà il certificato del server a meno che non sia conforme a uno specifico codice codificato con cui il client è stato rilasciato.
Poiché i certificati hanno date di scadenza, il certificato in sospeso del server dovrà eventualmente essere sostituito. Questo processo richiede generalmente un aggiornamento dell'applicazione / client per rendere il client consapevole del nuovo certificato "pin".
Esistono best practice su come gestire questa transizione / cambiamento?
Sto pensando a qualcosa di più sofisticato di due persone che premono un pulsante allo stesso tempo (cioè il certificato del server che sta aggiornando e l'applicazione che obbliga l'utente ad aggiornare) ... I processi organizzativi qui coinvolti possono essere non banali, soprattutto perché i cicli di rilascio e manutenzione di client / server / operazioni potrebbero essere eseguiti in base a diversi programmi e priorità.
Forse qualcosa di simile (sto solo scrivendo un approccio piuttosto ingenuo qui):
- Il client ha più certificati memorizzati per il server, con periodi di validità diversi ma sovrapposti.
- Se un certificato in sospeso è scaduto, il client verifica se ha un altro ancora valido ...
- > Ciò consentirebbe ai nuovi certificati "appuntati" per un server di essere consegnati con largo anticipo rispetto al passaggio effettivo dei certificati sul server.