Non capisco davvero perché l'approccio verso il controllo della validità dei certificati sia "valido fino a prova contraria" (ovvero liste di revoche).
Secondo me è strano. Una CA deve tenere traccia manualmente di tutti i certificati emessi e revocare esplicitamente quelli che non dovrebbero più essere autenticati.
Non avrebbe più senso forzare le CA a mantenere i database con i certificati che hanno emesso o anche meglio: fare firmare ogni certificato con una chiave separata che è archiviata nel database delle CA e se si desidera revocare il certificato, basta devi cancellare la sua voce?
Perché se si esaminano casi d'uso come i certificati client su Apache, ad esempio, è sempre necessario tenere traccia dei certificati emessi (ad esempio, per ciascun dipendente in un'azienda). Una volta che un dipendente lascia l'azienda, devi revocare il suo certificato. Ma senza ssl / tls di default che ti obbliga ad avere un "elenco di certificati attivi", non crea margine per errori (ovvero dimenticando di revocare un certificato client)? Voglio dire, ci sono altri modi per tenere traccia di ciò (database, LDAP ecc.) Ma non dovrebbe essere almeno l'opzione "non valido fino a convalida esplicita"? O c'è una soluzione per questo (tranne che per il software di terze parti)?
E inoltre: Perché l'CRL-URI in un http di certificato DigiCert e non in https, non significa che posso solo spoofare questo indirizzo e restituire un "tutto va bene e dandy" -CRL al client?
Voglio dire che il DigiCert CRL ha una firma sotto di esso che dimostra al cliente che si tratta di un CRL valido emesso dalla CA, ma è obbligatorio? Per esempio. i browser richiedono una firma sotto ogni crl che ricevono e cosa fanno se non ottengono alcun errore?