क्या MS Certificate Services OpenSSL के साथ निर्मित CA के अधीनस्थ हो सकता है


16

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

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

क्या मैं Windows एंटरप्राइज़ CA के लिए एक अधीनस्थ CA प्रमाणपत्र को ठीक से हस्ताक्षरित और बनाने में सक्षम होऊंगा, जो उपयोग करने योग्य होगा। सीए बनाने के लिए मुझे ओपनएसएसएल के साथ किन विकल्पों का उपयोग करने की आवश्यकता है और अधीनस्थ सीए प्रमाण पत्र पर ठीक से हस्ताक्षर करें।

मैंने वेब पर खोज करने का प्रयास किया है, और यह केवल एक चीज थी जिसे मैं इस विषय पर पा सकता था। लेकिन यह 2008 से पहले का है, और मुझे पूरी तरह से यकीन नहीं है कि वह व्यक्ति हर सफल था।


स्पष्ट होने के लिए, टूल को ओपनएसएसएल होना जरूरी नहीं है, लेकिन मैं ईजेबीसीए जैसे विशाल सीए को नहीं चलाना चाहता। मैं एक बहुत ही हल्के वजन वाले सीए की तलाश कर रहा हूं जिसे लाइव एलसीडी / लाइवसब वातावरण में चलाया जा सकता है।
Zoredache

जवाबों:


14

हाँ, यह ठीक काम करता है; Windows प्रमाणपत्र प्राधिकारी के पास गैर-विंडोज रूट के अधीनस्थ के रूप में चलने के बारे में कोई योग्यता नहीं है।

एंटरप्राइज़ मोड में एक ओपनएसएसएल रूट और एक विंडोज 2008 आर 2 अधीनस्थ के साथ परीक्षण किया गया।


OpenSSL कॉन्फिगरेशन में MS CA को जो उम्मीद है उससे कुछ अच्छा खेलने के लिए कुछ बातें:

  • मान्य एआईए और सीडीपी स्थानों को मूल प्रमाण पत्र पर लागू होना चाहिए, स्व-हस्ताक्षरित रूट के लिए अनुभाग की x509_extensionsसंपत्ति द्वारा कॉन्फ़िगर किए गए [req]अनुभाग में। इन पंक्तियों के साथ कुछ:

    authorityInfoAccess = caIssuers;URI:http://test-rootca.test.local/root.pem
    crlDistributionPoints = URI:http://test-rootca.test.local/root.crl
    
  • एक दिया गया ओपनएसएसएल कॉन्फ़िगरेशन संभवत: डिफ़ॉल्ट रूप से अधीनस्थ सीए को अनुमति नहीं देता है। हस्ताक्षरित अनुरोधों के लिए परिवर्तन करें (सुनिश्चित करें कि यह उन अनुरोधों के लिए नहीं है जो सीए नहीं होना चाहिए, निश्चित रूप से)। यह अनुभाग की x509_extensionsसंपत्ति द्वारा कॉन्फ़िगर किए गए [ca]अनुभाग में होगा:

    basicConstraints=CA:TRUE
    certificatePolicies=2.5.29.32.0
    

इसलिए, हम परीक्षण करने के लिए एक CA करेंगे।

अपनी जड़ बनाओ:

openssl req -new -x509 -keyout /etc/ssl/private/root.key -out /etc/ssl/certs/root.pem -nodes -extensions v3_ca

अपने कॉन्फ़िगरेशन के साथ फ़िडेल करें और [ca]अपने OpenSSL कॉन्फ़िगरेशन के अनुभाग में आवश्यक फ़ाइलें और निर्देशिकाएं बनाएं ।

Microsoft द्वारा जाने वाली चीज़ों को प्राप्त करने के लिए सभी सेट; मैन्युअल हस्ताक्षर के साथ एक विंडोज अधीनस्थ सीए बनाएं।

सर्टिफिकेट रिक्वेस्ट को ओपनएसएसएल सर्वर पर अपलोड करें। जब आप इस पर हों, तो रूट प्रमाणपत्र डाउनलोड करें। इसे विश्वसनीय जड़ों की दुकान में आयात करें - कंप्यूटर का, न कि आपके उपयोगकर्ता का!

अधीनस्थ प्रमाण पत्र जारी करें:

openssl ca -in test-subca.req
(you might need to specify a permissive policy manually with -policy, check your config)

यदि वह काम नहीं करता है, तो आपके CA के पास शायद एक समस्या हो सकती है - नए सिरेट्स डायरेक्टरी, इंडेक्स फ़ाइल, सीरियल फाइल आदि। त्रुटि संदेश की जाँच करें।

अगर यह गया, तो यह बात है। यदि आपने नहीं किया है, तो एक CRL बनाएं और इसे CDP में डालें जिसे आपने ऊपर कॉन्फ़िगर किया था; मैंने बस अपाचे को स्थापित किया और इसे वेबरोट में जाम कर दिया:

openssl ca -gencrl -out /var/www/root.crl

और अपना प्रमाण पत्र एआईए स्थान में डालें, अगर यह पहले से ही नहीं है:

cp /etc/ssl/certs/root.pem /var/www/root.pem

नए जारी किए गए अधीनस्थ प्रमाण पत्र को डाउनलोड करें और प्रमाणन प्राधिकरण एमएमसी स्नैप-इन के साथ इसे सीए को स्थापित करें। यह विश्वास या मान्यता के साथ किसी भी मुद्दे के बारे में पकड़ लेगा, लेकिन इसे लेने में कोई नैतिक आपत्ति नहीं है।

अंतिम परिणाम; OpenSSL Generated Certificateविशेषताओं में एक गप्पी के साथ एंटरप्राइज पीकेआई स्नैप-इन से कोई शिकायत नहीं के साथ काम कर रहे विंडोज सीए ।

काम सीए


6

मैं देख रहा हूं कि आपको क्या मिल रहा है, लेकिन मुझे नहीं लगता कि ओपनएसएसएल नौकरी के लिए काफी साधन है। आप ओपन सोर्स सर्टिफिकेट अथॉरिटी प्रोजेक्ट्स जैसे कि EJBCA को देखना चाहते हैं, जो ओपनएसएसएल की तुलना में इस कार्यक्षमता पर अधिक फोकस्ड हैं, और आपके द्वारा उपयोग किए जा सकने वाले विशिष्ट दस्तावेज़ हैं।

मुझे ऐसा कोई कारण नहीं दिखता कि अवधारणा क्यों काम नहीं करेगी, क्योंकि आप जो भी कर रहे हैं वह अधीनस्थ सीए के प्रमाण पत्र पर हस्ताक्षर कर रहा है। यदि आप आपके लिए ऐसा करने के लिए एक सार्वजनिक CA का भुगतान कर रहे थे, तो आपको जरूरी नहीं पता होगा कि वे सर्वर के किस स्वाद का उपयोग कर रहे हैं।

आप सभी की देखभाल करने की आवश्यकता है:

  • आप अपने अधीनस्थ द्वारा उत्पन्न सीएसआर से प्रमाण पत्र पर हस्ताक्षर कर सकते हैं
  • परिणाम अधीनस्थ पर ही स्थापित किया जा सकता है
  • आपके पास एक रूट साइनिंग सर्टिफिकेट है, जिसे आप जो भी टारगेट कर रहे हैं, उस पर भरोसा किया जा सकता है
  • आप एक प्रत्यावर्तन सूची उत्पन्न कर सकते हैं जो कहीं न कहीं परोसी जाती है

मैं यह नहीं कह सकता कि मैंने ऐसा किया है, लेकिन मुझे यकीन है कि अगर आप विंडोज़ बॉक्स से CSR जेनरेट करने के लिए डॉक्स का पालन करते हैं, तो CSR से .p7k सर्टिफिकेट जेनरेट करने के लिए अपने CA डॉक्स का पालन करें, फिर आप ठीक रहें।

वैसे - मैं आपको हाइपर-वी या वीएमवेयर जैसे एक लोकप्रिय हाइपरवाइजर के लिए एक वर्चुअल मशीन के रूप में अपना सीए बनाने की सलाह दूंगा, बजाय एक बूट डिस्क के, सुनिश्चित करें कि आप इसे बहुत सुरक्षित रूप से स्टोर करते हैं कहीं आपका उत्तराधिकारी इसे पा सकता है, और इसे स्पिन कर सकता है समय-समय पर ऑफ़लाइन यह सुनिश्चित करने के लिए कि यह चलता है, या इसे नए मीडिया / प्रौद्योगिकी में स्थानांतरित करें। एक रूट सीए में 10 या 20 साल का जीवन हो सकता है ...


+1 OpenSSL CA बनाने का प्रमुख साधन नहीं है, लेकिन यह सामान्य रूप से काम करता है। मैंने Windows एंटरप्राइज़ CA के लिए एक उप-CA प्रमाणपत्र जारी नहीं किया है, लेकिन यह कल्पना नहीं कर सकता कि यह क्यों काम नहीं करेगा (हालांकि एमएस ने अतीत में अधिक प्रबल विरोधी प्रतिस्पर्धी कृत्यों को प्रतिबद्ध किया है)। VM के रूप में CA के लिए बिग +1। रूट सर्टिफिकेट की दूसरी प्रति रखना एक अच्छा विचार है (कागज़ पर बेस 64 बहुत टिकाऊ और सुरक्षित / जमा-बॉक्स / आदि में रखना आसान है)
क्रिस एस

जब मैंने महसूस किया कि मैं बिना किसी एनआईसी के एक वीएम सेट कर सकता हूं और सीएसआर पर हस्ताक्षर करने के लिए एक आभासी फ्लॉपी ड्राइव का उपयोग कर सकता हूं, तो मुझे बहुत खुशी हुई। एक 21 वीं सदी के आभासी चमक के साथ पुनर्जन्म!
dunxd 21
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.