VPN certifikat još nije valjan: tri uzroka, jedan redoslijed provjere
Još-nije-valjan znači da sat uređaja kasni, da prozor zaista počinje kasnije ili da se posredni certifikat još nije otvorio. Provjerite ih tim redoslijedom.
Otvorite klijenta, odaberete profil koji koristite mjesecima i on se zaustavlja s "certificate is not yet valid". Ništa se u vašoj prijavi nije promijenilo, a spremište povjerenja je vjerovatno u redu: certifikat predstavljen u rukovanju nosi prozor valjanosti koji počinje kasnije od trenutka koji koristi verifikator. Tri različite situacije daju upravo tu poruku i traže različite postupke. Redoslijed ispod kaže vam koja je vaša prije nego što dotaknete sat ili datoteku certifikata.
Koji od tri uzroka gledate
Prvi uzrok je lokalni: uređaj koji obavlja provjeru ima sat raniji od datuma početka certifikata. Vidite ga na hardveru s mrtvom CMOS baterijom, na virtualnim mašinama vraćenim iz stare snimke, na uređajima koji su bili isključeni dovoljno dugo da izgube vrijeme i na mrežama gdje je odlazni NTP blokiran i nitko to nije primijetio. Certifikat može biti potpuno valjan i ipak pasti na ovaj način.
Drugi uzrok pripada izdavaocu, jer certifikat zaista počinje u budućnosti: izdat rano, generiran s eksplicitnim početnim vremenom ili potpisan kao dio koraka aktivacije koji još nije izvršen. Treći uzrok troši najviše vremena, jer je list aktualan dok drugi certifikat u predstavljenom lancu nije, pa greška imenuje materijal koji nikada niste instalirali.
Jedno pitanje ih razdvaja. Prati li kvar uređaj ili uslugu? Dvije mašine na istoj mreži koje se ponašaju različito upućuju na satove. Svaki klijent koji pada na isti način upućuje na prozor certifikata i lanac iza njega.
Pročitajte prozor iz certifikata koji je stvarno predstavljen
Ne provjeravajte PEM datoteku zaostalu od ranijeg postavljanja; pitajte uslugu za lanac koji šalje sada. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts ispisuje svaki certifikat u lancu. Sačuvajte blok koji vas zanima i pokrenite openssl x509 -noout -subject -issuer -dates; posljednji ispisuje notBefore i notAfter, a to su dvije vrijednosti koje odlučuju. Na Windowsu dijalog certifikata za vezu i certutil -dump na izvezenoj datoteci pokazuju ista polja.
Pročitajte oba kraja prozora, ne samo početak. Certifikat koji se otvara za dva sata i onaj koji se zatvara za dva sata padaju s različitim porukama i uključuju različite timove. Zabilježite koji certifikat greška imenuje — list, posredni ili korijenski — jer to odlučuje može li se išta na strani klijenta uopće popraviti.
Prozor možete testirati i bez čekanja. Verifikacija prihvata eksplicitno vrijeme: openssl verify -attime 1793600000 -CAfile ca.pem -untrusted intermediate.pem leaf.pem procjenjuje lanac na taj vremenski pečat. Pokrenite ga s trenutnim vremenom da reproducirate kvar, pa s početnim vremenom certifikata da potvrdite da isti lanac prolazi kad se prozor otvori. RFC 5280 definira polje valjanosti i pravilo da se certifikat ne smije koristiti izvan njega, a upravo to pravilo vaš je klijent upravo primijenio.
Vaš sat ili njihov
Uporedite sat uređaja s početkom certifikata u UTC-u, iz izvora kojem vjerujete. date -u daje trenutak, a timedatectl status na systemd hostu također javlja je li sat sinkroniziran. Na Windowsu w32tm /query /status prikazuje trenutni izvor i posljednju uspješnu sinkronizaciju. Vremenska zona u traci je izbor prikaza, a ne pogrešan sat; verifikator poredi UTC trenutke.
| What you see | Most likely reading | Next step |
|---|---|---|
| Clock behind, one device affected | Local time fault | Resync time, keep validation on, retest |
| Clock correct, window opens soon | Certificate staged early | Wait for the window or follow the cutover plan |
| Clock correct, intermediate not yet valid | Chain material mismatch | Operator replaces the intermediate |
| Some peers pass, others do not | Inconsistent nodes | Record each peer's chain before changing anything |
Ako sat kasni, resinkronizirajte i ponovite test prije nego promijenite bilo koji materijal certifikata. Uređaj koji je nekoliko minuta ili sati pogrešan odbija svaki nedavno izdat certifikat na koji naiđe, ne samo jednu uslugu, pa je objašnjenje s jednom uslugom obično pogrešno. Ako je sat tačan i sinkroniziran, prestanite gledati u uređaj: prozor pripada izdavaocu i nikakva lokalna postavka ne treba da se mijenja da bi prošao.
Ta tabela je cijela odluka. Pomjeranje sata na ono što certifikat očekuje nije popravka, a isključivanje provjera vremena također nije, jer oboje skriva stanje koje je proizvelo grešku.
Zašto lanac pada dok list izgleda dobro
Obnovljeni listovi i zamjenski posredni certifikati obično se isporučuju zajedno i ne sletu uvijek u isti trenutak. Usluga može poslati novi list potpisan posrednim čiji vlastiti prozor počinje kasnije ili nastaviti posluživati stariji posredni pod svježim listom. U oba slučaja lanac pada dok vlastiti datumi lista izgledaju razumno.
Balansirane krajnje točke pretvaraju ovo iz pokvarenog u nedosljedno. Ako ponovni pokušaj uspije ili jedna mreža radi a druga ne, zabilježite koji je peer odgovorio i koji lanac poslao prije promjene postavki. openssl s_client ispisuje povezanu adresu, pa nekoliko pokušaja otkriva poslužuje li svaki čvor isti lanac.
Putevi popravke koji čuvaju verifikaciju
Problem sa satom popravlja se na uređaju uz uključenu verifikaciju. Problem s certifikatom popravlja operater materijalom izdatim za prozor koji već uključuje sada. Nijedna klijentska postavka ne čini još-nevaljan certifikat valjanim; zastavice koje preskaču provjere vremena postoje da potvrdite dijagnozu, a ne da ih puštate u upotrebu.
Kada je certifikat pripremljen za planiranu aktivaciju, slijedite plan prelaska. Instalirajte ga kad se njegov prozor otvori ili upotrijebite postupak preklapanja koji provajder dokumentuje, umjesto da ga instalirate rano i učite korisnike da preskaču upozorenja. Upozorenja koja ljudi nauče ignorisati koštaju više od kratkog odgađanja.
Na kraju, ponovite test onako kako se kvar dogodio: nova sesija, isti klijent, resurs koji vam stvarno treba. TLS biblioteke mogu keširati verificirani lanac za cijeli život veze, a nastavljena sesija ga ne provjerava nužno ponovo, pa stara sesija može nastaviti padati nakon popravke ili nastaviti raditi nakon regresije. Datoteka koja se otvara u pregledniku dokazuje samo da je čitljiva; završeno rukovanje dokazuje da se lanac validira.
Prije nego zatvorite tiket, potvrdite četiri stvari: UTC vrijeme i stanje sinkronizacije uređaja koji pada, notBefore i notAfter svakog certifikata u predstavljenom lancu, isti lanac s drugog klijenta i ime koje greška daje certifikatu. Ako je sat tačan i prozor se nije otvorio, ostalo je posao operatera, a ispravan potez na vašoj strani je čekati prozor umjesto oslabiti provjeru.