मौजूदा प्रमाणपत्र हस्ताक्षर अनुरोध (CSR) में विषय वैकल्पिक नाम (SAN) जोड़ना


9

क्या कोई मुझे बता सकता है कि मैं एक मौजूदा सीएसआर में कितने विषय वैकल्पिक नाम जोड़ सकता हूं?

मैं SANs के साथ CSR जेनरेट करने या साइन करने के समय SAN को जोड़ने की बात नहीं कर रहा हूँ - मुझे पता है कि इन दोनों चीजों को कैसे करना है।

पृष्ठभूमि: हमारे पास समस्या यह है कि एचपी ब्लेड चेसिस, आपको सीएसआर उत्पन्न करने की अनुमति देता है, लेकिन वे केवल एक ही सैन की अनुमति देते हैं। हम कहीं और उत्पन्न CSR का उपयोग नहीं कर सकते क्योंकि हम परिणामी प्रमाण पत्र का उपयोग नहीं कर सकते थे क्योंकि ब्लेड चेसिस में कुंजी अपलोड करने का कोई तरीका नहीं है (जो मुझे मिल सकता है)।

हमारे CA की मानक प्रक्रिया SAN को जोड़ने के लिए समय पर हस्ताक्षर करने की अनुमति नहीं देती है। वे प्रयोग करने के लिए तैयार हैं, हालांकि मैं अपने अंत में एक समाधान खोजने की कोशिश कर रहा हूं क्योंकि इसका मतलब यह होगा कि हमें उन पर भरोसा नहीं करना होगा जो हमारे लिए एक गैर मानक प्रक्रिया है - मेरे अनुभव में अगर उन्हें गैर मानक प्रक्रिया का उपयोग करने की आवश्यकता है जीवन अंततः मुश्किल हो जाएगा। जैसे जब एक स्टाफ सदस्य जो गैर मानक प्रक्रिया जानता है, वह छुट्टी आदि के कारण उपस्थित नहीं होता है।

वर्तमान विधि वेब gui के माध्यम से bladechassis जहाज पर व्यवस्थापक से कनेक्ट करने और एक एकल CN के साथ CSR उत्पन्न करने के लिए है।

वेब gui केवल CSR में एकल SAN के लिए अनुमति देता है।

तब हम इसे स्वशासी विन्यास में निम्नलिखित श्लोक के साथ हस्ताक्षरित करते हैं:

[ v3_ca ]
subjectAltName = "DNS:bladesystem8,DNS:bladesystem8.services.adelaide.edu.au,DNS:bladesystem8-backup,DNS:bladesystem8-backup.services.adelaide.edu.au"

परिणामी प्रमाणपत्र में अतिरिक्त SAN हैं।


आप वर्तमान में ब्लेड चेसिस पर सेरेक्ट कैसे पैदा कर रहे हैं? कनेक्ट करने के लिए आप किस विधि का उपयोग कर रहे हैं .. क्या मॉडल ब्लेड चेसिस?
एली

चेसिस एक c7000 है। हाँ, हम वर्तमान में चेसिस पर CSR बना रहे हैं और साइन टाइम पर SAN को जोड़ रहे हैं, लेकिन यह स्वयं हस्ताक्षरित सीट्स के लिए है।
जेसन टैन

वर्तमान में आप इसे कनेक्ट करने के लिए किस विधि का उपयोग कर रहे हैं और इसके लिए सीरेट्स बनाने की आपकी प्रक्रिया क्या है?
एली

मैंने वर्तमान पद्धति को शामिल करने के लिए मुख्य प्रश्न संपादित किया है।
जेसन टैन

1
यदि आप इसे किसी अन्य मशीन पर जेनरेट करते हैं और निर्यात करते हैं तो क्या आप सर्टिफिकेट और निजी कुंजी आयात कर सकते हैं?
क्लिंट

जवाबों:


15

यदि आपकी चेसिस एसवाईएस को जोड़ने का समर्थन नहीं करती है, तो आपको चेसिस को बंद करने और सीएसआर को ओपनएसएल के साथ उत्पन्न करने की आवश्यकता होगी।

सुनिश्चित करें कि इसमें req_extensions = v3_reqअपूर्ण है[ req ] अनुभाग ।

जोड़े subjectAltNameको[ v3_req ] खंड।

एक नया CSR जनरेट करें।

openssl req -new -key extracted_c7000.key -out your_new.csr

आप किसी मौजूदा CSR को संपादित नहीं कर सकते।


कैकेमॉक्स ने क्या कहा। यदि आप एक प्रमाण पत्र (जो एक हस्ताक्षरित CSR है) पर हस्ताक्षर किए जाने के बाद उसे संपादित कर सकते हैं, तो यह अधिकारियों को प्रमाणित करने के पूरे उद्देश्य को हरा देगा।
MadHatter

मैं हस्ताक्षर करने के बाद CSR को संपादित नहीं करना चाहता - जैसा कि आप कहेंगे कि पिल्ला को हराना है। मैं इसे उत्पन्न करने के बाद CSR को संपादित करना चाहता हूं, लेकिन इससे पहले कि यह हस्ताक्षरित है। ओपनसेल का उपयोग करने से पहले सीएसआर के कुछ हिस्सों को संपादित करना निश्चित रूप से संभव है।
जेसन टैन

अगर मैं कुंजी डाउनलोड कर सकता हूं, तो मैं करूंगा। क्षमा करें, मैंने उस मूल प्रश्न का उल्लेख नहीं किया है, लेकिन मैं कुंजी डाउनलोड करने के लिए दूर नहीं जा पाया हूं। मैं बस किसी को भुगतान करने के लिए खुश हूं जो मुझे बता सकता है कि मुझे कुंजी कैसे डाउनलोड करनी है।
जेसन टैन

FYI करें - विशेष रूप से "Opensl req -subj" विकल्प में ओपनस्ले का उपयोग करने से पहले CSR के कुछ हिस्सों को संपादित करना निश्चित रूप से संभव है। हालांकि यह तब तक नहीं होगा जब तक कि मैं v3 SAN एक्सटेंशन जोड़ सकता हूं, यह आपको अतिरिक्त CNs सहित एक नई विषय पंक्ति निर्दिष्ट करने की अनुमति देगा।
जेसन टैन

2
CSR को मशीन की निजी कुंजी द्वारा हस्ताक्षरित किया जाता है, इसलिए इसे उत्पन्न होने के बाद आप इसे संपादित नहीं कर सकते (या फिर यह हस्ताक्षर किए जाने में विफल होगा)। यह संभव है कि सीए सार्वजनिक प्रमाण में लगाए गए क्षेत्रों को संपादित करे; यह SAN फ़ील्ड को बदलने का एकमात्र तरीका है (जिस पर आपका कोई नियंत्रण नहीं है यदि आप इसे किसी सार्वजनिक CA को भेज रहे हैं)।
क्रिस एस

0

महत्वपूर्ण नोट: यह सब कुछ सट्टा है, इसलिए यदि आप कोड में गहरे हैं और यह इस बात से सहमत नहीं है कि मैं क्या कह रहा हूं, तो कोड पर विश्वास करें। मैं सीए विशेषज्ञ नहीं हूं, मैं सिर्फ एक टीवी पर खेलता हूं। ने कहा कि:

CSR की एक विशेषता के रूप में, यह कठिन होगा। CSR को प्रोग्रामेटिक रूप से जेनरेट करने का अंतिम चरण आपके द्वारा बनाई गई सभी चीजों को हैश करना है, और फिर इसे निजी कुंजी के साथ साइन इन करना है। इसलिए, जब आप सीएसआर के पाठ में उन विशेषताओं को जोड़ सकते हैं, तो हस्ताक्षर सामग्री के साथ मेल नहीं खाएंगे, इसलिए कोई सीए उस पर हस्ताक्षर नहीं करेगा।

हालाँकि, आपके मामले में, आप CA को नियंत्रित करते हैं (या कम से कम संपर्क में हैं)। यह आपको दो विकल्प देता है:

  1. आप सीएआर को सीएसआर पर हस्ताक्षर की उपेक्षा करने और वैसे भी एक प्रमाण पत्र जारी करने का निर्देश दे सकते हैं।
  2. आपके पास अनुरोध के अनुसार CA कोई भिन्न प्रमाणपत्र जारी कर सकता है (उदाहरण जोड़कर)।

इनमें से, # 1 अब तक सबसे आसान लगता है। आपको ऐसा करने के लिए ओपनएसएसएल पर छेड़छाड़-स्पष्ट सील को तोड़ने की आवश्यकता होगी, लेकिन इसके कुछ कार्य हैं जिन्हें थोड़ा आसान बनाना चाहिए। मैं asn1parse के साथ शुरू करूँगा, जो आपको दिखाएगा कि CSR को अलग कैसे करें।


आगे के शोध पर, विकल्प # 2 वास्तव में काफी सरल है, और सीए के कई (जैसे एक SAN के रूप में एक प्रमाण पत्र में जोड़ने के site.comलिए www.site.com) द्वारा किया जाता है।
बीएमडैन

0

जबकि कैकेमोक्स का उत्तर निश्चित रूप से सबसे आसान है यदि आप किसी तरह निजी कुंजी की प्रतिलिपि प्राप्त कर सकते हैं, तो एक और तरीका है यदि आप मूल रूप से "एनरोलमेंट एजेंट" प्रमाण पत्र का उपयोग करके सीएसआर पर फिर से हस्ताक्षर नहीं कर सकते हैं।

इस css-security.com ब्लॉग पोस्ट में सभी नटखट विवरण हैं। लेकिन इस प्रक्रिया का उच्च स्तर अवलोकन इस प्रकार है:

  • एक नामांकन एजेंट प्रमाण पत्र प्राप्त करें
  • जारी करने के लिए ईए प्रमाणपत्र की आवश्यकता के लिए एक एसएसएल प्रमाणपत्र टेम्पलेट को संशोधित करें
  • एक CSR प्राप्त करें जिसकी SAN जानकारी की आवश्यकता है
  • सैन सूचना जोड़ते समय सीएसआर को इस्तीफा देने के लिए ईए प्रमाणपत्र का उपयोग करें

जब मैंने व्यक्तिगत रूप से यह कोशिश की, तो मुझे पूरा यकीन है कि मैंने प्रमाणपत्र टेम्पलेट को संशोधित करने के बारे में भाग छोड़ दिया। यह मानते हुए कि आप अपने लिए एक एनरोलमेंट एजेंट प्रमाण पत्र तैयार कर सकते हैं, वास्तविक प्रक्रिया कुछ इस तरह दिखती है।

इसमें सैन एक्सटेंशन की जानकारी के साथ एक san.inf बनाएं

[Extensions]
2.5.29.17="{text}dns=mysan1.example&dns=mysan2.example"

अनुरोध पर पुनः हस्ताक्षर करें

certreq -policy -config "myca.example\CA" orig-request.csr san.inf corrected-request.csr

सही किए गए अनुरोध सबमिट करें

certreq -submit -config "myca.example\CA" -attrib "CertificateTemplate:MyTemplate" corrected-request.csr

और फिर जारी करने की प्रक्रिया के साथ सामान्य रूप से आगे बढ़ें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.