Avate kliendi, valite profiili, mida olete kuude kaupa kasutanud, ja see peatub teatega "certificate is not yet valid". Teie sisselogimises pole midagi muutunud ja usaldushoidla on tõenäoliselt korras: käepigistuses esitatud sertifikaadil on kehtivusaken, mis algab hiljem kui hetk, mida kontrollija kasutab. Täpselt selle teate tekitavad kolm erinevat olukorda ja need nõuavad erinevaid toiminguid. Alljärgnev järjekord ütleb teile, milline neist teil on, enne kui puudutate kella või sertifikaadifaili.

Millist kolmest põhjusest te näete

Esimene põhjus on kohalik: kontrolli tegev seadme kell on sertifikaadi alguskuupäevast varasem. Seda näete riistvaral, mille CMOS-patarei on surnud, vanast hetktõmmisest taastatud virtuaalmasinatel, seadmetel, mis olid piisavalt kaua väljas, et aeg kaotada, ja võrkudes, kus väljuv NTP on blokeeritud ja keegi ei märganud. Sertifikaat võib olla täiesti kehtiv ja siiski nii ebaõnnestuda.

Teine põhjus kuulub väljaandjale, sest sertifikaat tõesti algab tulevikus: välja antud vara, loodud selge algusajaga või allkirjastatud aktiveerimisetapi osana, mida pole veel käivitatud. Kolmas põhjus raiskab kõige rohkem aega, sest leht on praegune, samas kui mõni teine esitatud ahela sertifikaat ei ole, nii et viga nimetab materjali, mida te kunagi ei paigaldanud.

Üks küsimus eraldab neid. Kas tõrge järgib seadet või teenust? Kaks masinat samas võrgus, mis käituvad erinevalt, viitavad kelladele. Kui iga klient ebaõnnestub ühtemoodi, viitab see sertifikaadi aknale ja selle taga olevale ahelale.

Lugege aken sertifikaadist, mis tegelikult esitati

Ärge uurige PEM-faili, mis jäi varasemast juurutamisest; küsige teenuselt ahelat, mille see praegu saadab. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts trükib iga sertifikaadi ahelas. Salvestage plokk, mis teid huvitab, ja käivitage openssl x509 -noout -subject -issuer -dates; viimane trükib notBefore ja notAfter ning need kaks väärtust otsustavad. Windowsis näitavad ühenduse sertifikaadidialoog ja eksporditud failil certutil -dump samu välju.

Lugege akna mõlemat otsa, mitte ainult algust. Sertifikaat, mis avaneb kahe tunni pärast, ja see, mis sulgub kahe tunni pärast, ebaõnnestuvad erinevate teadetega ja kaasavad erinevaid meeskondi. Pange tähele, millist sertifikaati viga nimetab — leht, vahe- või juursertifikaat —, sest see otsustab, kas kliendipoolel saab üldse midagi parandada.

Akent saab proovida ka ilma seda ootamata. Kontroll aktsepteerib selget aega: openssl verify -attime 1793600000 -CAfile ca.pem -untrusted intermediate.pem leaf.pem hindab ahelat selle ajatempli järgi. Käivitage see praeguse ajaga, et tõrget korrata, ja seejärel sertifikaadi algusajaga, et kinnitada, et sama ahel läbib, kui aken avaneb. RFC 5280 määratleb kehtivusvälja ja reegli, et sertifikaati ei tohi väljaspool seda kasutada, ja just seda reeglit teie klient äsja rakendas.

Teie kell või nende oma

Võrrelge seadme kella sertifikaadi algusega UTC-s, usaldusväärsest allikast. date -u annab hetke ja timedatectl status systemd-hostis teatab ka, kas kell on sünkroonitud. Windowsis näitab w32tm /query /status praegust allikat ja viimast edukat sünkroonimist. Tegumiribal näidatud ajavöönd on kuvamisvalik, mitte vale kell; kontrollija võrdleb UTC hetki.

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

Kui kell on taga, sünkroonige uuesti ja testige uuesti, enne kui muudate mis tahes sertifikaadimaterjali. Seade, mis on minutite või tundidega mööda, lükkab tagasi iga hiljuti välja antud sertifikaadi, mida kohtab, mitte ainult ühe teenuse, seega ühe teenuse seletus on tavaliselt vale. Kui kell on õige ja sünkroonitud, lõpetage seadme vaatamine: aken kuulub väljaandjale ja ühtegi kohalikku sätet ei tohiks kohandada, et see läbiks.

See tabel on kogu otsus. Kella liigutamine sellele, mida sertifikaat ootab, ei ole parandus, ja ajakontrollide väljalülitamine samuti mitte, sest mõlemad varjavad tingimust, mis vea tekitas.

Miks ahel ebaõnnestub, kui leht näeb hea välja

Uuendatud lehed ja asendus-vahesertifikaadid saadetakse tavaliselt koos ja need ei jõua alati samal hetkel. Teenus võib saata uue lehe, mille on allkirjastanud vahesertifikaat, mille enda aken algab hiljem, või jätkata vanema vahesertifikaadi teenindamist värske lehe all. Mõlemal juhul ebaõnnestub ahel, samal ajal kui lehe enda kuupäevad näivad mõistlikud.

Koormusjaotusega lõpp-punktid muudavad selle katkisest ebajärjekindlaks. Kui kordus õnnestub või üks võrk töötab ja teine mitte, kirjutage üles, milline partner vastas ja millise ahela saatis, enne kui sätteid muudate. openssl s_client trükib ühendatud aadressi, nii et mõned katsed näitavad, kas iga sõlm teenindab sama ahelat.

Parandusteed, mis hoiavad kontrolli terve

Kellaprobleem parandatakse seadmes, jättes kontrolli sisse. Sertifikaadiprobleemi parandab operaator materjaliga, mis on välja antud akna jaoks, mis juba sisaldab praegust aega. Ükski kliendisäte ei tee veel-kehtivat sertifikaati kehtivaks; lipud, mis ajakontrollidest mööda lähevad, on mõeldud diagnoosi kinnitamiseks, mitte tootmisse saatmiseks.

Kui sertifikaat on ette valmistatud kavandatud aktiveerimiseks, järgige üleminekuplaani. Paigaldage see, kui selle aken avaneb, või kasutage kattuvusprotseduuri, mida teenusepakkuja dokumenteerib, selle asemel et paigaldada vara ja õpetada kasutajaid hoiatusi läbi klõpsama. Hoiatused, mida inimesed õpivad ignoreerima, maksavad rohkem kui lühike viivitus.

Lõpuks testige uuesti nii, nagu tõrge juhtus: uus sessioon, sama klient, ressurss, mida tegelikult vajate. TLS-teegid võivad vahemällu salvestada kontrollitud ahela kogu ühenduse eluea jooksul ja jätkatud sessioon ei pruugi seda uuesti kontrollida, seega vana sessioon võib pärast parandust edasi ebaõnnestuda või pärast regressiooni edasi töötada. Fail, mis avaneb vaaturis, tõestab ainult, et fail on loetav; lõpetatud käepigistus tõestab, et ahel valideerub.

Enne pileti sulgemist kinnitage neli asja: ebaõnnestuva seadme UTC-aeg ja sünkroonimisolek, esitatud ahela iga sertifikaadi notBefore ja notAfter, sama ahel teisest kliendist ja nimi, mille viga sertifikaadile annab. Kui kell on õige ja aken pole avanud, on ülejäänu operaatori töö ning teie poolt õige samm on oodata akent, mitte kontrolli nõrgendada.

Seotud artiklid