openssl ca: ógilt gildistímaatriði í index.txt og hvernig á að laga það
CA neitar að gefa út vegna þess að ein lína í index.txt er ekki greinanleg. Afritaðu stöðu CA, afkóðaðu færsluna og samræmdu hana svo við undirritaða vottorðið.
Útgáfuhringur stöðvast á entry 22: invalid expiry date, og beiðnin fyrir framan þig er algjörlega í lagi. Kvörtunin kemur frá greinandanum í gagnagrunni CA, ekki frá CSR og ekki frá VPN-biðlaranum sem mun að lokum leggja vottorðið fram. Þessi greinarmunur ræður öllu sem á eftir kemur: færslan er gölluð, þannig að viðgerðin á heima í stöðu CA en ekki í beiðninni eða stillingum jafningsins. Meðhöndlaðu númeruðu færsluna sem línu í index.txt, og vandamálið minnkar í afmarkaða gagnaspurningu með svari sem hægt er að sannreyna.
Lestu villuna sem kvörtun um gagnagrunninn
Hvert openssl ca kall fer í gegnum textagagnagrunn sinn áður en það undirritar nokkuð. Hver lína ber stöðustaf, gildistímastimpil, valfrjálsan afturköllunarstimpil, raðnúmer í sextánskri töluritun, skráarnafn og viðfangið. Þegar eitt svið er ekki greinanlegt tilkynnir skipunin línunúmerið og stöðvast í stað þess að giska á afgang færslunnar.
Sú stöðvun er verndandi frekar en smámunasöm. Færsla sem verkfærið getur ekki lesið lætur það vera ófært um að ákveða hvort umbeðið viðfang sé þegar til, hvort raðnúmer hafi verið úthlutað eða hvað næsta CRL eigi að innihalda. Að halda áfram fram hjá gölluðu línu myndi framleiða einmitt það hljóðlausa ósamræmi sem kemur í ljós mánuðum síðar, venjulega í afturköllun sem enginn getur útskýrt. Lestu skilaboðin sem kvörtun um gögnin, og rannsóknin helst inni í CA-möppunni.
Afritaðu stöðu CA áður en þú snertir nokkuð
Taktu skyndimynd af allri CA-möppunni, ekki bara gagnagrunnsskránni. Skráin, eiginleikaskrá hennar, skrárnar fyrir raðnúmer og CRL-númer, einkalykillinn og útgefnu vottorðin taka öll þátt í síðari aðgerðum, og viðgerð sem endurheimtir eitt en sleppir hinum skapar aðra atburðarás. Notaðu eigin öryggisafritunarferli CA þar sem það er til, og stöðvaðu tímasetta útgáfu meðan vinna stendur.
Skráðu OpenSSL-útgáfuna og stillingaskrána sem misheppnaða skipunin hlaðinn í raun. Uppsetningar geyma oft fleiri en eina CA-möppu, og villan hefur aðeins merkingu gagnvart þeim gagnagrunni sem valin stilling nefnir.
Finndu færsluna og afkóðaðu dagsetningarsvið hennar
Tilkynnt línunúmer er talið frá fyrstu færslu, svo sed -n '22p' index.txt lendir á vandamálafærslunni þegar þú hefur staðfest að engar auðar línur eða athugasemdir eru fyrir ofan hana. Prentaðu þá línu með sýnilegum afmörkunum, því stafabil og bil í lokin eru algeng og ósýnileg í venjulegum ritilglugga.
Gildistímasviðið er tímastimpill sem breiddin ræðst af árinu. Gildi upp að 2049 eru skrifuð í UTCTime sem YYMMDDHHMMSSZ, en síðari gildi færast yfir í GeneralizedTime með fjögurra stafa ári. Færsla sem blandar báðum formum, eða ber tveggja stafa ár þar sem greinandinn væntir nú fjögurra, bregst nákvæmlega á þessum stað. Svo gerir líka stytt svið sem rofin skrif skildu eftir.
Berðu færsluna saman við vottorðið sem hún vísar til frekar en skrá annars CA. Undirritaða vottorðið er valdið um hvað gildistíminn á að segja, og það er þegar til sem greinanlegt hlutur.
Gerðu við færsluna út frá undirritaða vottorðinu
Lestu raunverulegu dagsetningarnar með openssl x509 -in issued.pem -noout -dates -serial -subject. Breyttu notAfter í þá stimpilbreidd sem útgáfan þín skrifar fyrir það ár, og staðfestu að raðnúmerið passi við færsluna sem þú ert að fara að breyta áður en þú breytir einum staf.
Breyttu aðeins skemmdu sviðinu, haltu stöðustafnum og raðnúmerinu, og láttu afgang línunnar í friði. Ef ekki er hægt að samræma færsluna neinu undirrituðu vottorði skaltu meðhöndla hana sem villta færslu og láta hana hætta störfum um afturköllunarleið CA sjálfs í stað þess að eyða línunni með höndunum.
Gerðu ekki við með því að klippa dagsetningu til að passa við getgátu um árið. Tveggja stafa skurður er ekki flytjanlegur milli útgáfa, og hann breytir hljóðlaust gildistímanum sem gagnagrunnurinn tilkynnir framtíðarprófunum á tvíteknum viðfangsefnum og CRL. Þegar upprunalega gildið er ekki endurheimtanlegt, gefðu út að nýju undir nýju raðnúmeri og skrifaðu niður hvers vegna það gamla var yfirgefið. Endurskoðunarferill er hluti viðgerðarinnar, ekki pappírsvinna í kringum hana.
Sannprófaðu útgáfu og CRL-myndun áður en þú gengur
Keyrðu eina útgáfu með sömu stillingu og staðfestu að hún klárist án kvörtunar um línunúmer. Búðu síðan til CRL með openssl ca -gencrl -config openssl.cnf og athugaðu að hún sé greinanleg, því skemmd færsla kemur oft í ljós þar frekar en við undirritun.
Skoðaðu nýja vottorðið með openssl x509 -noout -dates -serial og berðu það saman við línuna sem CA skrifaði rétt í þessu. Staðfestu að stöðustafurinn og gildisdagsetningin stemmi við vottorðið, og staðfestu að openssl verify -CAfile ca.pem issued.pem komi til baka án villu. Endurheimtu síðan tímasettu útgáfuna og fylgstu með fyrstu keyrslunni, því önnur gölluð lína tilkynnir sig strax.