openssl ca: datë skadimi e pavlefshme në index.txt dhe si ta rregullojmë
CA refuzon të lëshojë sepse një rresht në index.txt nuk analizohet. Kopjoni gjendjen e CA-së, dekodoni hyrjen dhe më pas përputhni atë me certifikatën e nënshkruar.
Një ekzekutim lëshimi ndalon te entry 22: invalid expiry date, ndërsa kërkesa para jush është plotësisht në rregull. Ankesa vjen nga analizuesi i bazës së të dhënave të CA-së, jo nga CSR dhe jo nga klienti VPN që do të paraqesë më në fund certifikatën. Ky dallim vendos gjithçka që vjen pas: një regjistrim është i keqformuar, prandaj rregullimi i takon gjendjes së CA-së dhe jo kërkesës apo konfigurimit të palës. Trajtojeni hyrjen e numëruar si një rresht në index.txt, dhe problemi zvogëlohet në një pyetje të kufizuar të dhënash me një përgjigje të verifikueshme.
Lexojeni gabimin si një ankesë për bazën e të dhënave
Çdo openssl ca thirrje kalon nëpër bazën e saj tekstuale përpara se të nënshkruajë diçka. Çdo rresht mban një shkronjë statusi, një vulë kohe skadimi, një vulë opsionale anulimi, një numër serial në heksadecimal, një emër skedari dhe subjektin. Kur një fushë nuk analizohet, komanda raporton numrin e rreshtit dhe ndalon në vend që të hamendësojë pjesën tjetër të regjistrimit.
Ai ndalim është mbrojtës dhe jo pedant. Një regjistrim që mjeti nuk mund ta lexojë e lë atë të paaftë të vendosë nëse subjekti i kërkuar ekziston tashmë, nëse është dhënë një numër serial apo çfarë duhet të përmbajë CRL-i i radhës. Kalimi përtej një rreshti të dëmtuar do të prodhonte pikërisht atë mospërputhje të heshtur që shfaqet muaj më vonë, zakonisht gjatë një anulimi që askush nuk mund ta shpjegojë. Lexojeni mesazhin si një ankesë për të dhënat, dhe hetimi mbetet brenda drejtorisë së CA-së.
Kopjoni gjendjen e CA-së përpara se të prekni diçka
Bëni një fotografi të të gjithë drejtorisë së CA-së, jo vetëm të skedarit të bazës së të dhënave. Indeksi, skedari i atributeve të tij, skedarët e numrit serial dhe të numrit të CRL-it, çelësi privat dhe certifikatat e lëshuara marrin të gjithë pjesë në veprimet e mëvonshme, dhe një rregullim që rikthen njërin dhe lë jashtë të tjerët krijon një incident të dytë. Aty ku ekziston, përdorni rutinën e vetë CA-së për kopje rezervë, dhe ndaloni lëshimin e planifikuar për kohëzgjatjen e punës.
Shënoni ndërtimin e OpenSSL dhe skedarin e konfigurimit që komanda e dështuar ngarkoi vërtet. Instalimet shpesh mbajnë më shumë se një drejtori CA, dhe gabimi ka kuptim vetëm ndaj bazës së të dhënave që emërton konfigurimi i zgjedhur.
Gjeni hyrjen dhe dekodoni fushën e saj të datës
Numri i rreshtit të raportuar numërohet nga regjistrimi i parë, kështu që sed -n '22p' index.txt bie mbi hyrjen problematike pasi të keni konfirmuar se sipër saj nuk ka rreshta bosh ose komente. Shtypeni atë rresht me ndarës të dukshëm, sepse tabulatoret dhe hapësirat në fund janë të zakonshme dhe të padukshme në një dritare të zakonshme redaktori.
Fusha e skadimit është një vulë kohe gjerësia e së cilës varet nga viti. Vlerat deri në 2049 shkruhen në UTCTime si YYMMDDHHMMSSZ, ndërsa vlerat e mëvonshme kalojnë në GeneralizedTime me vit katërshifror. Një regjistrim që përzien dy format, ose që mban një vit dyshifror aty ku analizuesi tani pret katër, dështon pikërisht në këtë pikë. Po ashtu një fushë e prerë që ka lënë një shkrim i ndërprerë.
Krahasoni regjistrimin me certifikatën të cilës i referohet, dhe jo me skedarin e një CA-je tjetër. Certifikata e nënshkruar është autoriteti për atë që duhet të thotë vlefshmëria, dhe ajo ekziston tashmë si objekt i analizueshëm.
Rregulloni regjistrimin sipas certifikatës së nënshkruar
Lexoni datat reale me openssl x509 -in issued.pem -noout -dates -serial -subject. Shndërroni notAfter në gjerësinë e vulës që ndërtimi juaj shkruan për atë vit, dhe konfirmoni se numri serial përputhet me hyrjen që do të redaktoni përpara se të ndryshoni një karakter të vetëm.
Redaktoni vetëm fushën e prishur, mbani shkronjën e statusit dhe numrin serial, dhe lini pjesën tjetër të rreshtit në paqe. Nëse regjistrimi nuk mund të përputhet me asnjë certifikatë të nënshkruar, trajtojeni si hyrje e humbur dhe tërhiqeni përmes rrugës së vetë CA-së për anulim, në vend që ta fshini rreshtin me dorë.
Mos rregulloni duke prerë një datë që të përshtatet me një hamendësim për vitin. Një prerje prej dy karakteresh nuk është e transportueshme mes ndërtimeve dhe ndryshon në heshtje vlefshmërinë që baza e të dhënave u raporton kontrolleve të ardhshme të subjektit të dyfishtë dhe të CRL-it. Kur vlera origjinale nuk mund të rikuperohet, rilëshojeni nën një numër serial të ri dhe shkruani pse u braktis i vjetri. Gjurma e revizionit është pjesë e rregullimit, jo letra rreth tij.
Verifikoni lëshimin dhe gjenerimin e CRL-it përpara se të largoheni
Ekzekutoni një lëshim me të njëjtin konfigurim dhe konfirmoni se përfundon pa ankesë për numrin e rreshtit. Më pas gjeneroni një CRL me openssl ca -gencrl -config openssl.cnf dhe kontrolloni se analizohet, sepse një regjistrim i dëmtuar shfaqet shpesh aty dhe jo gjatë nënshkrimit.
Inspektoni certifikatën e re me openssl x509 -noout -dates -serial dhe krahasojeni me rreshtin që CA sapo shkroi. Konfirmoni se shkronja e statusit dhe data e skadimit përputhen me certifikatën, dhe konfirmoni se openssl verify -CAfile ca.pem issued.pem kthehet pa gabim. Më pas rivendosni lëshimin e planifikuar dhe vëzhgoni ekzekutimin e parë, sepse një rresht i dytë i keqformuar do të njoftojë menjëherë për veten.