2011-06-17 14 views
19

का उपयोग करके स्व-हस्ताक्षरित प्रमाणपत्र में 'विषय वैकल्पिक नाम' फ़ील्ड जोड़ें या बनाएं, 'विषय वैकल्पिक नाम' फ़ील्ड के साथ makecert का उपयोग करके मैं प्रमाणपत्र कैसे बना सकता हूं?मेकर्ट

enter image description here

आप कुछ क्षेत्रों जैसे, -eku विकल्प के साथ 'बढ़ी कुंजी उपयोग' जोड़ सकते हैं और मैं -San विकल्प की कोशिश की है लेकिन makecert यह पसंद नहीं है।

यह एक स्व-हस्ताक्षरित प्रमाण पत्र है, इसलिए किसी भी विधि जो आईआईएस का उपयोग सीए को भेजने के लिए कुछ बनाने के लिए उपयुक्त नहीं है।

उत्तर

14

मेकर्ट SAN को समर्थन देने के लिए प्रतीत नहीं होता है इसलिए मैंने ओपनएसएसएल का उपयोग करके आईआईएस के उपयोग के लिए SAN के साथ प्रमाणपत्र बनाया है। इसके बारे में मेरी पोस्ट देखें।

http://andyarismendi.blogspot.com/2011/09/creating-certificates-with-sans-using.html

8

अद्यतन

प्रमाण पत्र नीचे makecert पद्धति का उपयोग करके सभी ब्राउज़रों में मज़बूती से काम नहीं करता है, क्योंकि यह वास्तव में एक "विषय वैकल्पिक नाम" उत्पन्न नहीं करता है उत्पन्न।

आप प्रमाणपत्र आप यह वास्तव में एक Subject Alternative Name फ़ील्ड नहीं है कि देखेंगे की जांच, लेकिन इसके बजाय Subject क्षेत्र में कई CN निर्दिष्ट करता है।

उदा।

Subject: 
CN = blah.foo.corp 
CN = blah 

जबकि एक असली "सैन" प्रमाणपत्र की तरह कुछ होगा: के साथ "सामान्य नाम" "विषय" क्षेत्र और "विषय वैकल्पिक नाम" के बीच

Subject Alternative Name: 
DNS Name=blah.foo.corp 
DNS Name=blah 

अंतर को समझने के लिए और इतिहास क्षेत्र, मैं The (soon to be) not-so Common Name पढ़ने की सलाह देते हैं।

तो ऐसा लगता है कि makecertएक सच्चे "सैन" प्रमाणपत्र उत्पन्न करने के लिए नहीं इस्तेमाल किया जा सकता है, और आप इस तरह के openssl के रूप में अन्य उपकरण का उपयोग करने की आवश्यकता होगी।


मूल उत्तर:

कम से कम makecert का संस्करण Visual Studio 2012 के साथ आता है के साथ, आप कई विषयों के लिए, बस एक अल्पविराम निर्दिष्ट करने के द्वारा निर्दिष्ट कर सकते हैं सूची -n "CN=domain1, CN=domain2"

जैसे अलग (TechNet ब्लॉग Makecert.exe SAN and Wildcard certificate से)

makecert -r -pe -n "CN=*.fabrikam.com, CN=*.contoso.com" -b 01/01/2010 -e 01/01/2100 -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.3,1.3.6.1.5.5.7.3.4 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -len 2048 
+1

स्पष्ट होने के लिए, आप एकाधिक विषय सीएन का उपयोग नहीं करना चाहते हैं, क्योंकि फ़ायरफ़ॉक्स केवल अंतिम का सम्मान करता है और क्रोम केवल पहले का सम्मान करता है। – EricLaw

17

एक और भी आसान रास्ता नई SelfSignedCertificate PowerShell commandlet, जो डिफ़ॉल्ट रूप से एक सैन शामिल उपयोग करने के लिए है। एक ही कमांड में आप प्रमाणपत्र बना सकते हैं और इसे स्टोर में जोड़ सकते हैं।

New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My

ध्यान दें कि आप PowerShell एक प्रशासक के रूप में चलाने की जरूरत है।

+1

आप उस कमांडलेट में विषय वैकल्पिक नाम कैसे पारित करते हैं? – wal

+2

यह आपके लिए उपलब्ध डीएनएसनाम के आधार पर आपके लिए एक बनाता है। यदि आपको एकाधिक यूआरएल का समर्थन करने की आवश्यकता है तो आप अल्पविराम सीमांकित सूची में भी पास कर सकते हैं। जैसे 'नया-स्व-हस्ताक्षरित प्रमाणपत्र -DnsName localhost, mysite.com, test.com -CertStoreLocation प्रमाण: \ LocalMachine \ My' – DanO

+0

भले ही आप पावरहेल v4 स्थापित करते हैं, यह आदेश केवल Windows Server 2012+ और Windows 8+ (या शायद 8.1 पर उपलब्ध है) + ??) कोई विन 7 और कोई सर्वर 2008 :( – Jester