Limite del certificato di 39 mesi di TLS e errore NET :: ERR_CERT_VALIDITY_TOO_LONG di Chrome

8

Alla fine dello scorso anno il CA / Forum Forum ha deciso di limitare la durata massima valida dei certificati TLS / SSL rilasciati dopo il 1 ° aprile 2015. Dopo questo periodo, come linee guida ufficiali mettilo ..

CAs SHALL NOT issue certificates with validity periods longer than 39 months.

Recentemente ho (ri) rilasciato un certificato con un periodo di validità di 2015-04-07 08:57:25 GMT a 2018-07-09 07:00:18 GMT . Questo mi sembra molto simile a 39 mesi e 2 giorni ma ogni single SSL checker Ho used dice che è totalmente valido. Funziona perfettamente anche con Firefox 37.0.1 e Internet Explorer 11.0.9600.

Il problema è che Chrome mi dà un errore di NET::ERR_CERT_VALIDITY_TOO_LONG , un punto con cui tendo ad essere d'accordo. Ciò si verifica nelle versioni 42.0.2311.68 me 44.0.2360.0 canarino (64-bit).

Si tratta di un problema con il certificato o un bug in Chrome?

Più specificamente, come si suppone che i "mesi" siano calcolati ai fini dei certificati TLS / SSL?

Nota che questo non dovrebbe essere correlato al tramonto dei certificati firmati SHA-1 che si sono verificati in Chrome 42 , il nuovo certificato è sicuramente firmato con SHA256.

    
posta Molomby 09.04.2015 - 06:08
fonte

1 risposta

4

Va notato che non c'è niente di sbagliato con i certificati da un punto di vista TLS o x509. Il forum CA / Browser si applica alle CA che rilasciano certificati di pubblico dominio che aderiscono a tali linee guida. Non tutti i casi di utilizzo di TLS o x509 riguardano la fiducia del pubblico.

Un ente governativo interno o una CA aziendale, ad esempio, potrebbe ragionevolmente scegliere di ignorare completamente queste linee guida. Infatti, se Chrome applica queste regole rigorosamente a certificati non pubblici è in qualche modo in contraddizione con x509v3:

In some situations, devices are given certificates for which no good expiration date can be assigned. For example, a device could be issued a certificate that binds its model and serial number to its public key; such a certificate is intended to be used for the entire lifetime of the device.

Ovviamente Chrome non ha alcun obbligo di accettare tali certificati, ma sono comunque un tipo legittimo di certificato. Un utente intranet che vuole fidarsi della propria intranet CA (ad esempio, Active Directory) potrebbe trovare che Chrome impedisce loro di farlo, in base a requisiti che sono irrilevanti per loro in quanto non si abbonano al forum CA / Browser.

Non è corretto affermare che un certificato x509v3 non è valido perché ha una data di scadenza lunga nel caso generale .

È corretto dire che un certificato x509v3 non è valido perché ha una lunga data di scadenza quando è emesso da un CA che si prevede che sia conforme ai requisiti CAB e sia utilizzato da un utente-agente che si aspettava che fosse conforme ai requisiti CAB.

È quindi importante riconoscere che non esiste un meccanismo tecnico intrinseco per determinare se una CA dovrebbe essere conforme alla CAB oppure no. Pertanto, i browser sono lasciati a:

a) Si supponga che le CA sottoscritte al CA / Forum Browser siano conformi in modo appropriato e accettino i falsi positivi se la CA non è conforme, per qualsiasi motivo.

b) Rifiutano aggressivamente i certificati che non sono conformi ai requisiti in ogni caso, indipendentemente da chi sia la CA, imponendo requisiti in stile CAB anche laddove potrebbero essere attivamente dannosi.

Né è sbagliato, penso ( a meno che non ci sia un po 'di CAB che impone un obbligo al browser, non posso dire di aver memorizzato l'intera parola parola per parola - Vedi addendum) . Ciò che è corretto è che i tester SSL che hai usato non rifiutano i certificati come intrinsecamente non validi. Senza alcun contesto, sarebbe sbagliato affermare che non erano validi.

I risultati che hai descritto, quindi, sono esattamente ciò che ci si potrebbe aspettare da questi requisiti e la risposta alla domanda "Si tratta di un problema con il certificato o un bug in Chrome?" è, a mio avviso, il certificato , perché è stato emesso da una CA sottoscritta dal forum CAB che non ha attuato i propri obblighi in modo non ambiguo, costringendo i browser a prendere una decisione se applicare o meno tali obblighi con il veto.

Addendum :

The Requirements are not mandatory for Certification Authorities unless and until they become adopted and enforced by relying–party Application Software Suppliers.

Chrome (un applicativo di parti relying Sof ..... zzzz) lo ha adottato e lo sta applicando, quindi dalla lettera della legge che possiamo affermare è obbligatorio per le CA che si occupano di certificati pubblicamente affidabili e sono abbonati ai requisiti del forum CAB per creare certificati conformi a questi requisiti.

(A meno che non siamo iper-pedantici, nel qual caso è un plurale e avremmo effettivamente bisogno di 2 o più browser per applicarlo perché altrimenti Chrome è solo un fornitore di software applicativo di parti relazionate, non fornitore s .)

Penso che sia divertente che le CA delle obbligazioni siano effettivamente legate alle modifiche in base ai dettagli di implementazione individuali in ogni fornitore. Ogni volta che un browser web o qualsiasi software associato al CAB in qualsiasi parte del mondo viene aggiornato improvvisamente, una CA potrebbe dover implementare un requisito che non aveva precedentemente.

Pertanto, fino a quando non è fallito in Chrome, non c'era alcun obbligo per la CA di conformarsi. Nel momento in cui Chrome è stato riparato per iniziare a lanciare questo errore, la CA ha violato i suoi obblighi. Sorpresa, MF!

    
risposta data 10.04.2015 - 12:23
fonte

Leggi altre domande sui tag