एक जारी करण्याची फेरी येथे थांबते: entry 22: invalid expiry date, पण तुमच्यासमोरची विनंती पूर्णपणे ठीक आहे। तक्रार CA डेटाबेसच्या पार्सरकडून येते, CSR कडून नाही आणि प्रमाणपत्र अखेरीस सादर करणाऱ्या VPN क्लायंटकडूनही नाही। हाच फरक पुढील सर्व गोष्टी ठरवतो: नोंद विकृत आहे, त्यामुळे दुरुस्ती CA च्या स्थितीत आहे, विनंतीत किंवा पीअर कॉन्फिगरेशनमध्ये नाही। क्रमांकित नोंदीकडे index.txt मधील एक ओळ असे पहा, आणि समस्या तपासण्यायोग्य उत्तर असलेल्या मर्यादित डेटा प्रश्नापर्यंत आकुंचित होते।

त्रुटी डेटाबेसबद्दलची तक्रार म्हणून वाचा

प्रत्येक openssl ca कॉल काहीही स्वाक्षरी करण्यापूर्वी आपल्या मजकूर डेटाबेसमधून जातो। प्रत्येक ओळीत स्थिती अक्षर, कालबाह्यता वेळशिक्का, ऐच्छिक रद्दीकरण वेळशिक्का, हेक्समधील क्रमांक, फाइल नाव आणि विषय असतो। एक क्षेत्र पार्स होत नसेल, तर आदेश ओळ क्रमांक सांगतो आणि उर्वरित नोंदीचा अंदाज घेण्याऐवजी थांबतो।

ती थांबणी कठोर नाही, संरक्षक आहे। साधन वाचू शकत नाही अशी नोंद, मागितलेला विषय आधीच आहे का, क्रमांक दिला गेला आहे का, किंवा पुढील CRL मध्ये काय असावे हे ठरवण्यास असमर्थ ठेवते। खराब ओळीवरून पुढे गेल्यास, महिन्यांनंतर, सहसा कोणीही समजावून सांगू शकत नाही अशा रद्दीकरणाच्या वेळी पुढे येणारी तीच शांत विसंगती निर्माण झाली असती। संदेश डेटाबद्दलची तक्रार म्हणून वाचा, आणि तपास CA डिरेक्टरीच्या आतच राहतो।

काहीही स्पर्श करण्यापूर्वी CA च्या स्थितीची प्रत बनवा

फक्त डेटाबेस फाइल नाही, संपूर्ण CA डिरेक्टरीचा स्नॅपशॉट घ्या। इंडेक्स, त्याची गुणधर्म फाइल, क्रमांक व CRL क्रमांकाच्या फाइल्स, खाजगी की आणि जारी केलेली प्रमाणपत्रे सर्व पुढील कामांमध्ये सहभागी होतात, आणि एक पुनर्संचयित करून बाकीचे सोडणारी दुरुस्ती दुसरी घटना निर्माण करते। जिथे असेल तिथे CA ची स्वतःची बॅकअप पद्धत वापरा, आणि काम चालू असताना नियोजित जारी करणे थांबवा।

अयशस्वी आदेशाने प्रत्यक्षात लोड केलेले OpenSSL बिल्ड आणि कॉन्फिगरेशन फाइल नोंदवा। इन्स्टॉलेशन्स बऱ्याचदा एकापेक्षा जास्त CA डिरेक्टरी ठेवतात, आणि त्रुटीचा अर्थ केवळ निवडलेल्या कॉन्फिगरेशनने नाव दिलेल्या डेटाबेसच्या संदर्भातच असतो।

नोंद शोधा आणि तिचे तारीख क्षेत्र डीकोड करा

नोंदवलेला ओळ क्रमांक पहिल्या नोंदीपासून मोजला जातो, म्हणून sed -n '22p' index.txt तिच्या वर रिकाम्या किंवा टिप्पणी ओळी नाहीत याची खात्री केल्यावर समस्याग्रस्त नोंदीवर येते। ती ओळ दिसणाऱ्या विभाजकांसह छापा, कारण टॅब आणि शेवटच्या जागा सामान्य असतात आणि सामान्य संपादकाच्या खिडकीत दिसत नाहीत।

कालबाह्यता क्षेत्र हा वर्षावर अवलंबून रुंदी असलेला वेळशिक्का आहे। 2049 पर्यंतची मूल्ये UTCTime मध्ये YYMMDDHHMMSSZ अशी लिहिली जातात, तर पुढील मूल्ये चार अंकी वर्षासह GeneralizedTime मध्ये जातात। दोन्ही स्वरूपे मिसळणारी, किंवा पार्सर आता चार अपेक्षित असलेल्या ठिकाणी दोन अंकी वर्ष असलेली नोंद याच बिंदूवर अपयशी होते। खंडित लेखनामागे राहिलेले कापलेले क्षेत्रही तसेच।

नोंदीची तुलना दुसऱ्या CA च्या फाइलशी नाही, तर ती ज्या प्रमाणपत्राचा संदर्भ देते त्याच्याशी करा। स्वाक्षरीत प्रमाणपत्र वैधतेने काय सांगावे याचा अधिकार आहे, आणि ते आधीच पार्स करण्यायोग्य वस्तू म्हणून अस्तित्वात आहे।

स्वाक्षरीत प्रमाणपत्राच्या आधारे नोंद दुरुस्त करा

खऱ्या तारखा यासह वाचा: openssl x509 -in issued.pem -noout -dates -serial -subject। notAfter ला तुमचे बिल्ड त्या वर्षासाठी लिहित असलेल्या शिक्क्याच्या रुंदीत बदला, आणि एकही अक्षर बदलण्यापूर्वी क्रमांक तुम्ही संपादित करणार असलेल्या नोंदीशी जुळतो याची खात्री करा।

फक्त तुटलेले क्षेत्र संपादित करा, स्थिती अक्षर आणि क्रमांक ठेवा, आणि ओळीचा उर्वरित भाग तसाच ठेवा। कोणत्याही स्वाक्षरीत प्रमाणपत्राशी नोंद जुळवता येत नसेल, तर ती भटकी नोंद माना आणि ओळ हाताने पुसण्याऐवजी CA च्या स्वतःच्या रद्दीकरण मार्गाने ती निवृत्त करा।

वर्षाबद्दलच्या अंदाजाशी जुळवण्यासाठी तारीख कापून दुरुस्त करू नका। दोन अक्षरांची कातर बिल्डमध्ये हस्तांतरणीय नाही, आणि ती डेटाबेस भविष्यातील डुप्लिकेट-विषय आणि CRL तपासण्यांना कळवत असलेली वैधता शांतपणे बदलते। मूळ मूल्य पुनर्प्राप्त होत नसेल, तर नवीन क्रमांकाखाली पुन्हा जारी करा आणि जुने का सोडले हे लिहून ठेवा। ऑडिट श्रेणी दुरुस्तीचा भाग आहे, तिच्याभोवतीचे कागदी काम नाही।

निघण्यापूर्वी जारी करणे आणि CRL निर्मिती तपासा

त्याच कॉन्फिगरेशनसह एक जारी करणे चालवा आणि ते ओळ क्रमांकाच्या तक्रारीशिवाय पूर्ण होते याची खात्री करा। नंतर openssl ca -gencrl -config openssl.cnf सह CRL तयार करा आणि ते पार्स होते याची तपासणी करा, कारण खराब झालेली नोंद स्वाक्षरीच्या वेळी नाही, तर बहुतेक वेळा तिथेच पुढे येते।

नवीन प्रमाणपत्र यासह तपासा: openssl x509 -noout -dates -serial आणि CA ने नुकतेच लिहिलेल्या ओळीशी त्याची तुलना करा। स्थिती अक्षर आणि कालबाह्यता तारीख प्रमाणपत्राशी जुळतात याची खात्री करा, आणि openssl verify -CAfile ca.pem issued.pem त्रुटीशिवाय परत येते याचीही खात्री करा। नंतर नियोजित जारी करणे पुनर्संचयित करा आणि पहिली फेरी पाहा, कारण दुसरी विकृत ओळ लगेच स्वतःची जाहिरात करेल।

संबंधित लेख