7.5. X.509 Certificate Parsing and Validation Complexity (Complessità di analisi e convalida dei certificati X.509)
7.5. X.509 Certificate Parsing and Validation Complexity (Complessità di analisi e convalida dei certificati X.509)
L'analisi e la convalida di certificati X.509 e catene di certificati sono complesse, e errori di implementazione hanno in passato esposto vulnerabilità di sicurezza. Le complessità della convalida includono (senza limitarsi a) [CX5P] [DCW] [RFC5280]:
-
verifica dei basic constraints, dei vincoli di key usage di base ed estesi, dei periodi di validità e delle estensioni critiche;
-
gestione di byte NUL incorporati in stringhe ASN.1 a lunghezza contata e rappresentazioni di stringhe non canoniche o non normalizzate nei nomi di soggetto;
-
gestione di pattern wildcard nei nomi di soggetto;
-
verifica ricorsiva delle catene di certificati e controllo della revoca dei certificati.
Per questi motivi, gli implementatori DOVREBBERO usare una libreria X.509 consolidata e ben testata (come quella usata da una libreria TLS consolidata) per la convalida delle catene di certificati X.509 e NON DOVREBBERO tentare di scrivere procedure di convalida X.509 proprie.