Odprete odjemalca, izberete profil, ki ga uporabljate že mesece, in ustavi se z "certificate is not yet valid". Nič pri vaši prijavi se ni spremenilo, shramba zaupanja pa je verjetno v redu: potrdilo, predstavljeno pri rokovanju, nosi okno veljavnosti, ki se začne pozneje kot trenutek, ki ga uporablja preverjevalnik. Tri različne situacije ustvarijo natanko to sporočilo in zahtevajo različne ukrepe. Vrstni red spodaj vam pove, katero imate, preden se dotaknete ure ali datoteke s potrdilom.

Kateri od treh vzrokov ga vidite

Prvi vzrok je lokalen: naprava, ki izvaja preverjanje, ima uro, ki je zgodnejša od datuma začetka potrdila. To vidite na strojni opremi z mrtvo baterijo CMOS, na navideznih strojih, obnovljenih iz stare posnetka, na napravah, ki so bile dovolj dolgo izklopljene, da so izgubile čas, in v omrežjih, kjer je odhodni NTP blokiran in tega nihče ni opazil. Potrdilo je lahko popolnoma veljavno in vseeno spodleti na ta način.

Drugi vzrok pripada izdajatelju, ker se potrdilo res začne v prihodnosti: izdano zgodaj, ustvarjeno z izrecnim začetnim časom ali podpisano kot del koraka aktivacije, ki se še ni izvedel. Tretji vzrok zapravi največ časa, ker je list trenuten, medtem ko drugo potrdilo v predstavljeni verigi ni, zato napaka poimenuje gradivo, ki ga nikoli niste namestili.

Eno vprašanje jih loči. Ali napaka sledi napravi ali storitvi? Dva stroja v istem omrežju, ki se obnašata različno, kažeta na ure. Če vsak odjemalec spodleti na enak način, to kaže na okno potrdila in verigo za njim.

Preberite okno iz potrdila, ki je bilo dejansko predstavljeno

Ne pregledujte datoteke PEM, ki je ostala od prejšnje namestitve; vprašajte storitev za verigo, ki jo pošilja zdaj. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts izpiše vsako potrdilo v verigi. Shranite blok, ki vas zanima, in zaženite openssl x509 -noout -subject -issuer -dates; zadnji izpiše notBefore in notAfter, in ti dve vrednosti odločata. V sistemu Windows pogovorno okno potrdila za povezavo in certutil -dump na izvoženi datoteki prikazujeta ista polja.

Preberite oba konca okna, ne le začetka. Potrdilo, ki se odpre čez dve uri, in tisto, ki se čez dve uri zapre, spodletita z različnimi sporočili in vključita različne ekipe. Zabeležite, katero potrdilo napaka poimenuje — list, vmesno ali korensko —, ker to odloči, ali je na strani odjemalca sploh mogoče kaj popraviti.

Okno lahko preizkusite tudi brez čakanja. Preverjanje sprejme izrecen čas: openssl verify -attime 1793600000 -CAfile ca.pem -untrusted intermediate.pem leaf.pem ovrednoti verigo ob tej časovni oznaki. Zaženite ga s trenutnim časom, da ponovite napako, nato z začetnim časom potrdila, da potrdite, da ista veriga uspe, ko se okno odpre. RFC 5280 določa polje veljavnosti in pravilo, da se potrdilo zunaj njega ne sme uporabljati, in prav to pravilo je vaš odjemalec pravkar uveljavil.

Vaša ura ali njihova

Primerjajte uro naprave z začetkom potrdila v UTC, iz vira, ki mu zaupate. date -u poda trenutek, timedatectl status na gostitelju systemd pa tudi poroča, ali je ura sinhronizirana. V sistemu Windows w32tm /query /status prikazuje trenutni vir in zadnjo uspešno sinhronizacijo. Časovni pas v pladnju je izbira prikaza, ne napačna ura; preverjevalnik primerja trenutke UTC.

What you seeMost likely readingNext step
Clock behind, one device affectedLocal time faultResync time, keep validation on, retest
Clock correct, window opens soonCertificate staged earlyWait for the window or follow the cutover plan
Clock correct, intermediate not yet validChain material mismatchOperator replaces the intermediate
Some peers pass, others do notInconsistent nodesRecord each peer's chain before changing anything

Če ura zaostaja, sinhronizirajte znova in znova preizkusite, preden spremenite kakršno koli gradivo potrdila. Naprava, ki je za minute ali ure napačna, zavrne vsako nedavno izdano potrdilo, na katero naleti, ne le ene storitve, zato je razlaga z eno storitvijo običajno napačna. Če je ura pravilna in sinhronizirana, prenehajte gledati napravo: okno pripada izdajatelju in nobena lokalna nastavitev se ne sme prilagoditi, da bi uspelo.

Ta tabela je celotna odločitev. Premikanje ure na tisto, kar potrdilo pričakuje, ni popravilo, izklop časovnih preverjanj pa tudi ne, ker oboje skriva stanje, ki je povzročilo napako.

Zakaj veriga spodleti, medtem ko je list videti v redu

Obnovljeni listi in nadomestna vmesna potrdila se običajno pošiljajo skupaj in ne prispejo vedno v istem trenutku. Storitev lahko pošlje nov list, podpisan z vmesnim, katerega lastno okno se začne pozneje, ali še naprej streže starejše vmesno potrdilo pod svežim listom. V obeh primerih veriga spodleti, medtem ko so datumi samega lista videti razumni.

Koncne točke z razporejanjem obremenitve spremenijo to iz zlomljenega v nedosledno. Če ponovni poskus uspe ali eno omrežje deluje, drugo pa ne, zabeležite, kateri partner je odgovoril in katero verigo je poslal, preden spremenite nastavitve. openssl s_client izpiše povezani naslov, zato nekaj poskusov razkrije, ali vsako vozlišče streže isto verigo.

Poti popravila, ki ohranijo preverjanje

Težava z uro se popravi na napravi, preverjanje pa ostane vklopljeno. Težavo s potrdilom popravi operater z gradivom, izdanim za okno, ki že vključuje zdaj. Nobena nastavitev odjemalca ne naredi še neveljavnega potrdila veljavnega; zastavice, ki preskočijo časovna preverjanja, obstajajo za potrditev diagnoze, ne za uvajanje.

Ko je potrdilo pripravljeno za načrtovano aktivacijo, sledite načrtu prehoda. Namestite ga, ko se njegovo okno odpre, ali uporabite postopek prekrivanja, ki ga dokumentira ponudnik, namesto da bi ga namestili zgodaj in uporabnike učili, da klikajo skozi opozorila. Opozorila, ki se jih ljudje naučijo ignorirati, stanejo več kot kratka zamuda.

Na koncu znova preizkusite tako, kot je napaka nastala: nova seja, isti odjemalec, vir, ki ga resnično potrebujete. Knjižnice TLS lahko shranijo preverjeno verigo za celotno življenjsko dobo povezave, obnovljena seja pa je ne preveri nujno znova, zato lahko stara seja po popravilu še naprej spodleti ali po regresiji še naprej deluje. Datoteka, ki se odpre v pregledovalniku, dokazuje le, da je datoteka berljiva; dokončano rokovanje dokazuje, da se veriga preveri.

Preden zaprete zahtevek, potrdite štiri stvari: čas UTC in stanje sinhronizacije naprave, ki spodleti, notBefore in notAfter vsakega potrdila v predstavljeni verigi, isto verigo z drugega odjemalca in ime, ki ga napaka dodeli potrdilu. Če je ura pravilna in okno še ni odprto, je ostalo delo operaterja, pravilna poteza na vaši strani pa je počakati na okno, namesto da oslabite preverjanje.

Sorodni članki