VPN-sertifikat er enno ikkje gyldig: tre årsaker, éin kontrollrekkjefølgje
Enno-ikkje-gyldig tyder at klokka på eininga går bakover, at vindauget faktisk startar seinare, eller at eit mellomliggjande sertifikat enno ikkje er opna. Kontroller dei i den rekkjefølgja.
Du opnar klienten, vel profilen du har brukt i månadsvis, og han stoppar med "certificate is not yet valid". Ingenting ved pålogginga di er endra, og tillitslageret er truleg i orden: sertifikatet som blir presentert i handtrykket, har eit gyldigheitsvindauge som startar seinare enn tidspunktet verifikatoren brukar. Tre ulike situasjonar gir nøyaktig den meldinga, og dei krev ulike tiltak. Rekkjefølgja nedanfor fortel deg kva for ein du har, før du rører ei klokke eller ei sertifikatfil.
Kva for ei av dei tre årsakene du ser på
Den første årsaka er lokal: eininga som utfører kontrollen, har ei klokke som er tidlegare enn startdatoen til sertifikatet. Du ser det på maskinvare med daudt CMOS-batteri, på virtuelle maskinar gjenoppretta frå eit gammalt augneblinksbilete, på einingar som har vore avslått lenge nok til å miste tida, og på nettverk der utgåande NTP er blokkert og ingen har lagt merke til det. Sertifikatet kan vere heilt gyldig og likevel feile på denne måten.
Den andre årsaka høyrer til utstaderen, fordi sertifikatet faktisk byrjar i framtida: utstedt tidleg, generert med eit eksplisitt starttidspunkt eller signert som ein del av eit aktiveringstrinn som enno ikkje er køyrt. Den tredje årsaka sløser mest tid, fordi bladet er aktuelt medan eit anna sertifikat i den presenterte kjeda ikkje er det, så feilen namngir materiale du aldri installerte.
Eitt spørsmål skil dei. Følgjer feilen eininga eller tenesta? To maskinar på same nettverk som oppfører seg ulikt, peikar på klokker. Når kvar klient feilar på same måte, peikar det på vindauget til sertifikatet og kjeda bak det.
Les vindauget frå sertifikatet som faktisk vart presentert
Ikkje undersøk ei PEM-fil som ligg att frå ei tidlegare utrulling; spør tenesta om kjeda ho sender no. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts skriv ut kvart sertifikat i kjeda. Lagre blokka du treng, og køyr openssl x509 -noout -subject -issuer -dates; den siste skriv ut notBefore og notAfter, og det er dei to verdiane som avgjer. På Windows viser sertifikatdialogen for tilkoplinga og certutil -dump på ei eksportert fil dei same felta.
Les begge endane av vindauget, ikkje berre starten. Eit sertifikat som opnar om to timar, og eitt som lukkar om to timar, feilar med ulike meldingar og involverer ulike team. Legg merke til kva sertifikat feilen namngir — blad, mellomliggjande eller rot — fordi det avgjer om noko på klientsida i det heile kan reparerast.
Du kan også teste vindauget utan å vente på det. Verifiseringa godtar eit eksplisitt tidspunkt: openssl verify -attime 1793600000 -CAfile ca.pem -untrusted intermediate.pem leaf.pem evaluerer kjeda på det tidsstempelet. Køyr det med gjeldande tid for å gjenskape feilen, deretter med starttida til sertifikatet for å stadfeste at same kjeda passerer når vindauget opnar. RFC 5280 definerer gyldigheitsfeltet og regelen om at eit sertifikat ikkje må brukast utanfor det, og det er nettopp regelen klienten din nettopp handheva.
Klokka di, eller deira
Samanlikn klokka på eininga med starten til sertifikatet i UTC, frå ei kjelde du stolar på. date -u gir tidspunktet, og timedatectl status på ein systemd-vert rapporterer også om klokka er synkronisert. På Windows viser w32tm /query /status gjeldande kjelde og siste vellukka synkronisering. Ei tidssone i oppgåvelinja er eit visingsval, ikkje ei feil klokke; verifikatoren samanliknar UTC-tidspunkt.
| 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 |
Viss klokka går bakover, synkroniser på nytt og test på nytt før du endrar noko sertifikatmateriale. Ei eining som er minutt eller timar feil, avviser kvart nyleg utstedt sertifikat ho møter, ikkje berre éi teneste, så ei forklaring med éi teneste er vanlegvis den feilaktige. Viss klokka er riktig og synkronisert, slutt å sjå på eininga: vindauget høyrer til utstaderen, og inga lokal innstilling bør justerast for å få det til å passere.
Den tabellen er heile avgjerda. Å flytte klokka til det sertifikatet forventar, er ikkje ein reparasjon, og å slå av tidskontrollar er heller ikkje, fordi begge skjuler tilstanden som skapte feilen.
Kvifor kjeda feilar medan bladet ser fint ut
Fornya blad og erstatningsmellomsertifikat blir vanlegvis sende saman, og dei landar ikkje alltid i same augneblink. Ei teneste kan sende eit nytt blad signert av ein mellomliggjande som har sitt eige vindauge som startar seinare, eller halde fram med å tena ein eldre mellomliggjande under eit ferskt blad. Uansett feilar kjeda medan datoane til bladet sjølv ser rimelege ut.
Lastbalanserte endepunkt gjer dette frå øydelagt til inkonsistent. Viss eit nytt forsøk lukkast, eller eitt nettverk fungerer medan eit anna ikkje gjer det, noter kva peer som svara og kva kjede han sende, før du endrar innstillingar. openssl s_client skriv ut den tilkopla adressa, så nokre få forsøk avdekkjer om kvar node tener same kjeda.
Reparasjonsvegar som held verifiseringa intakt
Eit klokkeproblem blir retta på eininga med verifisering slått på. Eit sertifikatproblem blir retta av operatøren med materiale utstedt for eit vindauge som allereie omfattar no. Inga klientinnstilling gjer eit enno-ikkje-gyldig sertifikat gyldig; flagga som hoppar over tidskontrollar finst for å stadfeste ein diagnose, ikkje for å sende dei i produksjon.
Når sertifikatet er klargjort for ein planlagd aktivering, følg overgangsplanen. Installer det når vindauget opnar, eller bruk overlapp-prosedyren leverandøren dokumenterer, i staden for å installere tidleg og lære brukarane å klikke seg gjennom åtvaringar. Åtvaringar folk lærer å ignorere, kostar meir enn ei kort forseinking.
Til slutt, test på nytt slik feilen oppstod: ei ny økt, same klient, ressursen du faktisk treng. TLS-bibliotek kan bufre ei verifisert kjede for heile levetida til ei tilkopling, og ei gjenoppteken økt sjekkar henne ikkje nødvendigvis på nytt, så ei gammal økt kan halde fram med å feile etter rettinga eller halde fram med å verke etter ein regresjon. Ei fil som opnar i ein framvisar, beviser berre at fila er lesbar; eit fullført handtrykk beviser at kjeda validerer.
Før du lukkar saka, stadfest fire ting: UTC-tida og synkroniseringstilstanden til den feilande eininga, notBefore og notAfter for kvart sertifikat i den presenterte kjeda, same kjede frå ein annan klient, og namnet feilen gir sertifikatet. Viss klokka er riktig og vindauget ikkje er opna, er resten arbeidet til operatøren, og det riktige trekket på di side er å vente på vindauget i staden for å svekke kontrollen.