La mia domanda è simile alla domanda this.Modalità di revoca offline
Sto provando a controllare l'elenco di revoche solo utilizzando il CRL locale.
Sto usando X509Chain.Build() con i seguenti parametri:
var chainMachine = new X509Chain(true);
chainMachine.ChainPolicy.RevocationFlag = X509RevocationFlag.EntireChain;
chainMachine.ChainPolicy.UrlRetrievalTimeout = TimeSpan.FromSeconds(30);
chainMachine.ChainPolicy.VerificationFlags = X509VerificationFlags.NoFlag;
chainMachine.ChainPolicy.VerificationTime = DateTime.Now;
chainMachine.ChainPolicy.RevocationMode = X509RevocationMode.Offline;
ma ottengo i seguenti errori:
- RevocationStatusUnknown => La funzione di revoca non è in grado di controllare la revoca per il certificato.
- OfflineRevocation => La funzione di revoca non è stata in grado di controllare la revoca del certificato poiché il server di revoca è non in linea.
La cosa strana è che una volta che cerco di controllare l'elenco di revoche online (in seguito sarà aggiornato il CRL), il problema viene risolto. quindi sembra che una volta che c'è qualcosa nella cache il problema non possa più essere riprodotto.
Ho pensato che forse il messaggio di errore non è corretto e ciò che effettivamente accade è che quando la cache è vuota c'è qualche eccezione che fa apparire questo messaggio. un'altra opzione è che forse c'è qualche bandiera che dice se la cache è stata aggiornata qualche volta, e se non è mai stata aggiornata cerca di ottenere le informazioni da un server esterno
qualcuno può indicare qual è il motivo per questa edizione?
sto vedendo anche lo stesso comportamento .Non mi dice che il server è offline, dice solo che non può controllare la revoca. Questo non sembra accadere per i certificati autofirmati. – Mark