Jūs atverat klientu, izvēlaties profilu, ko lietojat jau mēnešus, un tas apstājas ar "certificate is not yet valid". Jūsu pieteikšanās nav mainījusies, un uzticības krātuve, iespējams, ir kārtībā: rokasspiedienā uzrādītajam sertifikātam ir derīguma logs, kas sākas vēlāk nekā pārbaudītāja izmantotais mirklis. Trīs dažādas situācijas rada tieši šo ziņojumu, un tām vajadzīgas atšķirīgas darbības. Tālākā secība pateiks, kura no tām jums ir, pirms pieskaraties pulkstenim vai sertifikāta failam.

Kuru no trim iemesliem jūs redzat

Pirmais iemesls ir vietējs: pārbaudi veicošās ierīces pulkstenis ir agrāks par sertifikāta sākuma datumu. To redzat aparatūrā ar mirušu CMOS bateriju, virtuālajās mašīnās, kas atjaunotas no veca momentuzņēmuma, ierīcēs, kas bijušas izslēgtas pietiekami ilgi, lai zaudētu laiku, un tīklos, kur izejošais NTP ir bloķēts un neviens to nav pamanījis. Sertifikāts var būt pilnīgi derīgs un tomēr šādi neizdoties.

Otrais iemesls pieder izdevējam, jo sertifikāts tiešām sākas nākotnē: izdots agri, ģenerēts ar skaidru sākuma laiku vai parakstīts kā vēl neizpildīta aktivizācijas soļa daļa. Trešais iemesls zaudē visvairāk laika, jo lapa ir aktuāla, bet cits uzrādītās ķēdes sertifikāts nav, tāpēc kļūda nosauc materiālu, ko jūs nekad neesat instalējis.

Viens jautājums tos šķir. Vai kļūme seko ierīcei vai pakalpojumam? Divas mašīnas vienā tīklā, kas uzvedas atšķirīgi, norāda uz pulksteņiem. Ja katrs klients neizdodas vienādi, tas norāda uz sertifikāta logu un ķēdi aiz tā.

Lasiet logu no sertifikāta, kas faktiski tika uzrādīts

Nepārbaudiet PEM failu, kas palicis no iepriekšējas izvietošanas; palūdziet pakalpojumam ķēdi, ko tas sūta tagad. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts izdrukā katru ķēdes sertifikātu. Saglabājiet vajadzīgo bloku un palaidiet openssl x509 -noout -subject -issuer -dates; pēdējais izdrukā notBefore un notAfter, un tieši šīs divas vērtības izšķir lietu. Windows sistēmā savienojuma sertifikāta dialogs un certutil -dump eksportētā failā rāda tos pašus laukus.

Lasiet abus loga galus, ne tikai sākumu. Sertifikāts, kas atveras pēc divām stundām, un tas, kas aizveras pēc divām stundām, neizdodas ar atšķirīgiem ziņojumiem un iesaista atšķirīgas komandas. Ievērojiet, kuru sertifikātu nosauc kļūda — lapu, starpsertifikātu vai sakni —, jo tas nosaka, vai klienta pusē vispār kaut ko var salabot.

Logu varat pārbaudīt arī negaidot. Pārbaude pieņem skaidru laiku: openssl verify -attime 1793600000 -CAfile ca.pem -untrusted intermediate.pem leaf.pem novērtē ķēdi šajā laika zīmogā. Palaidiet to ar pašreizējo laiku, lai atkārtotu kļūmi, un pēc tam ar sertifikāta sākuma laiku, lai apstiprinātu, ka tā pati ķēde iztur, tiklīdz logs atveras. RFC 5280 definē derīguma lauku un noteikumu, ka sertifikātu nedrīkst lietot ārpus tā, un tieši šo noteikumu jūsu klients tikko piemēroja.

Jūsu pulkstenis vai viņējais

Salīdziniet ierīces pulksteni ar sertifikāta sākumu UTC laikā no avota, kuram uzticaties. date -u dod mirkli, un timedatectl status systemd saimniekā arī ziņo, vai pulkstenis ir sinhronizēts. Windows sistēmā w32tm /query /status rāda pašreizējo avotu un pēdējo veiksmīgo sinhronizāciju. Uzdevumjoslā redzamā laika josla ir attēlojuma izvēle, nevis nepareizs pulkstenis; pārbaudītājs salīdzina UTC mirkļus.

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

Ja pulkstenis atpaliek, sinhronizējiet vēlreiz un pārbaudiet vēlreiz, pirms maināt jebkuru sertifikāta materiālu. Ierīce, kas atšķiras par minūtēm vai stundām, noraida katru nesen izdotu sertifikātu, ar ko tā saskaras, nevis tikai vienu pakalpojumu, tāpēc viena pakalpojuma skaidrojums parasti ir nepareizais. Ja pulkstenis ir pareizs un sinhronizēts, pārtrauciet skatīties uz ierīci: logs pieder izdevējam, un neviena vietējā iestatījuma maiņa nav jāveic, lai tas izietu.

Šī tabula ir viss lēmums. Pulksteņa pārvietošana uz to, ko sertifikāts gaida, nav labošana, un laika pārbaužu izslēgšana arī nav, jo abas slēpj stāvokli, kas radīja kļūdu.

Kāpēc ķēde neizdodas, kamēr lapa izskatās labi

Atjaunotās lapas un aizstājējstarpsertifikāti parasti tiek sūtīti kopā, un ne vienmēr nonāk vienā mirklī. Pakalpojums var sūtīt jaunu lapu, kas parakstīta ar starpsertifikātu, kura paša logs sākas vēlāk, vai turpināt apkalpot vecāku starpsertifikātu zem svaigas lapas. Abos gadījumos ķēde neizdodas, kamēr pašas lapas datumi izskatās saprātīgi.

Slodzes līdzsvarotie galapunkti to pārvērš no salauzta uz nekonsekventu. Ja atkārtojums izdodas vai viens tīkls strādā, bet otrs ne, pierakstiet, kurš partneris atbildēja un kādu ķēdi nosūtīja, pirms maināt iestatījumus. openssl s_client izdrukā pievienoto adresi, tāpēc daži mēģinājumi atklāj, vai katrs mezgls apkalpo to pašu ķēdi.

Labošanas ceļi, kas saglabā pārbaudi

Pulksteņa problēma tiek labota ierīcē, atstājot pārbaudi ieslēgtu. Sertifikāta problēmu labo operators ar materiālu, kas izdots logam, kurš jau ietver tagadni. Neviena klienta iestatīšana nepadara vēl nederīgu sertifikātu derīgu; karodziņi, kas izlaiž laika pārbaudes, pastāv diagnozes apstiprināšanai, nevis ieviešanai ražošanā.

Kad sertifikāts sagatavots plānotai aktivizācijai, ievērojiet pārejas plānu. Instalējiet to, kad atveras tā logs, vai izmantojiet pārklāšanās procedūru, ko dokumentē piegādātājs, tā vietā lai instalētu agri un mācītu lietotājus klikšķināt cauri brīdinājumiem. Brīdinājumi, ko cilvēki iemācās ignorēt, maksā vairāk par īsu kavēšanos.

Visbeidzot, pārbaudiet vēlreiz tā, kā notika kļūme: jauna sesija, tas pats klients, resurss, kas jums tiešām vajadzīgs. TLS bibliotēkas var kešot pārbaudītu ķēdi visā savienojuma darbības laikā, un atsākta sesija to ne vienmēr pārbauda vēlreiz, tāpēc veca sesija var turpināt neizdoties pēc labojuma vai turpināt strādāt pēc regresijas. Fails, kas atveras skatītājā, pierāda tikai to, ka fails ir lasāms; pabeigts rokasspiediens pierāda, ka ķēde tiek validēta.

Pirms aizverat biļeti, apstipriniet četras lietas: neizdevušās ierīces UTC laiku un sinhronizācijas stāvokli, katras uzrādītās ķēdes sertifikāta notBefore un notAfter, to pašu ķēdi no otra klienta un nosaukumu, ko kļūda piešķir sertifikātam. Ja pulkstenis ir pareizs un logs vēl nav atvēries, pārējais ir operatora darbs, un pareizais solis jūsu pusē ir gaidīt logu, nevis vājināt pārbaudi.

Saistītie raksti