openssl ca: index.txt faylidagi noto'g'ri amal qilish muddati va uni qanday tuzatish
CA index.txt faylidagi bitta satr tahlil qilinmagani uchun berishdan bosh tortmoqda. CA holatidan nusxa oling, yozuvni dekodlang, so'ng uni imzolangan sertifikat bilan moslashtiring.
Berish jarayoni quyidagi joyda to'xtaydi: entry 22: invalid expiry date, holbuki oldingizdagi so'rov butunlay to'g'ri. Shikoyat CA ma'lumotlar bazasining tahlilchisidan keladi, CSRdan ham, sertifikatni oxir-oqibat taqdim etadigan VPN mijozi dan ham emas. Bu farq keyingi hamma narsani belgilaydi: yozuv buzilgan, shuning uchun tuzatish CA holatiga tegishli, so'rovga yoki hamkor konfiguratsiyasiga emas. Raqamlangan yozuvni index.txt ichidagi satr deb qarang, shunda muammo tekshiriladigan javobga ega cheklangan ma'lumot savoliga aylanadi.
Xatoni ma'lumotlar bazasi haqidagi shikoyat sifatida o'qing
Har bir openssl ca chaqiruv biror narsaga imzo chekishdan oldin o'z matn bazasidan o'tadi. Har bir satrda holat harfi, amal qilish muddati vaqt belgisi, ixtiyoriy bekor qilish belgisi, o'n oltilik tizimdagi seriya raqami, fayl nomi va subyekt bo'ladi. Bitta maydon tahlil qilinmasa, buyruq satr raqamini bildiradi va yozuvning qolgan qismini taxmin qilish o'rniga to'xtaydi.
Bu to'xtash pedantlik emas, himoyadir. Asbob o'qiy olmaydigan yozuv uni so'ralgan subyekt allaqachon mavjudmi, seriya raqami berilganmi yoki keyingi CRL nima bo'lishi kerakligini hal qila olmaydigan holatda qoldiradi. Buzilgan satrdan o'tib ketish aynan o'sha oylar o'tib, odatda hech kim tushuntira olmaydigan bekor qilish paytida yuzaga chiqadigan sokin nomuvofiqlikni keltirib chiqarardi. Xabarni ma'lumotlar haqidagi shikoyat sifatida o'qing, tergov CA papkasi ichida qoladi.
Biror narsaga tegishdan oldin CA holatidan nusxa oling
Faqat ma'lumotlar bazasi faylini emas, butun CA papkasining suratini oling. Indeks, uning atributlar fayli, seriya va CRL raqami fayllari, shaxsiy kalit hamda berilgan sertifikatlar keyingi amallarda qatnashadi, birini tiklab, qolganlarini tashlab ketadigan tuzatish esa ikkinchi hodisani keltirib chiqaradi. Mavjud bo'lsa CA ning o'z zaxira nusxalash tartibidan foydalaning va ish davomida rejalashtirilgan berishni to'xtatib turing.
Muvaffaqiyatsiz buyruq haqiqatda yuklagan OpenSSL qurilmasi va konfiguratsiya faylini yozib qo'ying. O'rnatishlar ko'pincha bir nechta CA papkasini saqlaydi va xato faqat tanlangan konfiguratsiya nomlagan ma'lumotlar bazasiga nisbatan ma'noga ega.
Yozuvni toping va uning sana maydonini dekodlang
Bildirilgan satr raqami birinchi yozuvdan sanaladi, shuning uchun sed -n '22p' index.txt uning ustida bo'sh yoki izoh satrlari yo'qligini tasdiqlaganingizdan keyin muammoli yozuvga tushadi. O'sha satrni ko'rinadigan ajratgichlar bilan chop eting, chunki tablar va oxiridagi bo'sh joylar odatiy hol bo'lib, oddiy muharrir oynasida ko'rinmaydi.
Amal qilish maydoni yilga qarab kengligi o'zgaradigan vaqt belgisidir. 2049 gacha bo'lgan qiymatlar UTCTime formatida YYMMDDHHMMSSZ ko'rinishida yoziladi, keyingi qiymatlar esa to'rt xonali yil bilan GeneralizedTime ga o'tadi. Ikki shaklni aralashtirgan yoki tahlilchi endi to'rt xona kutayotgan joyda ikki xonali yil tutgan yozuv aynan shu nuqtada muvaffaqiyatsizlikka uchraydi. To'xtatilgan yozuvdan qolgan kesilgan maydon ham shunday.
Yozuvni boshqa CA fayli bilan emas, u havola qiladigan sertifikat bilan solishtiring. Imzolangan sertifikat amal qilish nima deyishi kerakligi bo'yicha vakolatdir va u allaqachon tahlil qilinadigan obyekt sifatida mavjud.
Yozuvni imzolangan sertifikatga muvofiq tuzating
Haqiqiy sanalarni quyidagi buyruq bilan o'qing: openssl x509 -in issued.pem -noout -dates -serial -subject. Quyidagini notAfter qurilmangiz o'sha yil uchun yozadigan belgi kengligiga aylantiring va bitta belgini o'zgartirishdan oldin seriya raqami siz tahrirlamoqchi bo'lgan yozuvga mos kelishini tasdiqlang.
Faqat buzilgan maydonni tahrirlang, holat harfi va seriya raqamini saqlab qoling, satrning qolgan qismini o'z holicha qoldiring. Agar yozuvni hech qanday imzolangan sertifikat bilan moslashtirib bo'lmasa, uni adashgan yozuv deb hisoblang va satrni qo'lda o'chirish o'rniga CA ning o'z bekor qilish yo'li orqali chiqarib yuboring.
Yil haqidagi taxminga moslashtirish uchun sanani kesib tuzatmang. Ikki belgili kesim qurilmalar orasida ko'chirilmaydi va ma'lumotlar bazasi kelgusi takroriy subyekt va CRL tekshiruvlariga bildiradigan amal qilishni jimgina o'zgartiradi. Asl qiymatni tiklab bo'lmasa, yangi seriya raqami ostida qayta bering va eskisi nima uchun tashlab ketilganini yozib qo'ying. Audit izi tuzatishning bir qismi, uning atrofidagi qog'oz ishlari emas.
Ketishdan oldin berish va CRL yaratishni tekshiring
Xuddi shu konfiguratsiya bilan bitta berishni ishga tushiring va u satr raqami shikoyatisiz tugashini tasdiqlang. So'ngra openssl ca -gencrl -config openssl.cnf yordamida CRL yarating va u tahlil qilinishini tekshiring, chunki shikastlangan yozuv ko'pincha imzo chekish paytida emas, aynan o'sha yerda yuzaga chiqadi.
Yangi sertifikatni quyidagi buyruq bilan ko'zdan kechiring: openssl x509 -noout -dates -serial va uni CA hozir yozgan satr bilan solishtiring. Holat harfi va amal qilish sanasi sertifikatga mos kelishini, shuningdek openssl verify -CAfile ca.pem issued.pem buyrug'i xatosiz qaytishini tasdiqlang. So'ngra rejalashtirilgan berishni tiklang va birinchi ishga tushishni kuzating, chunki ikkinchi buzilgan satr o'zini darhol e'lon qiladi.