2012-10-25 21 views
37

पर बाध्यकारी होने पर एसएसएल सर्टिफिकेट एड असफल रहा, मैंने डब्ल्यूसीएफ का उपयोग करके एक वेब सेवा बनाई। मैं स्वयं होस्टिंग कर रहा हूं और मैं HTTPS को सक्षम करना चाहता हूं। इसके होने के लिए मेरी समझ से, मुझे एक प्रमाणपत्र बनाने और उस बंदरगाह से बांधना होगा जिसका मैं उपयोग करना चाहता हूं।पोर्ट प्रमाणपत्र

ये कदम उठाएँ कि मैं इस संभाल करने के लिए किया है इस प्रकार हैं:

  1. अपने स्थानीय मशीन पर एक प्रमाण पत्र बनाया गया रूट प्रमाणपत्र प्राधिकरण के रूप में कार्य करने के लिए
    • makecert -n "सीएन = मेरे रूट प्रमाणपत्र प्राधिकरण "-r -sv RootCATest.pvk RootCATest.cer
  2. mmc.exe खोला और में फ़ाइल .cer बचाया आयात किया गया" विश्वसनीय रूट प्रमाणपत्र \ प्रमाण पत्र \ फ़ोल्डर
    • makecert -sk MyKeyName -IV RootCATest.pvk -n "सीएन = MyMachineName" -ic RootCATest.cer -sr localmachine -ss मेरी -sky विनिमय पीई MyMachineName.cer
  3. से एक अस्थायी सेवा प्रमाण पत्र बनाया गया पर हस्ताक्षर किए रूट प्रमाणपत्र प्राधिकरण

    • makecert -sk MyKeyName -IV RootCATest.pvk -n "सीएन = MyMachineName" -ic RootCATest.cer -sr localmachine -ss मेरी -sky विनिमय पीई MyMachineName.cer
  4. बाइंड करने का प्रयास किया (इस मामले में 443) पोर्ट नंबर करने के लिए प्रमाणपत्र

    • netsh http जोड़ने sslcert ipport = 0.0.0.0: 443 certhash = 2c5ba85bcbca412a74fece02878a44b285c63981 APPID = {646937c0-1042-4e81-a3b6-47d678d68ba9}

परिणाम चरण 4 से निम्न त्रुटि है:

SSL Certificate add failed, Error 1312

A specified logon session does not exist. It may already have been terminated.

किसी को भी कारण है कि मैं इस त्रुटि हो रही हो सकता है एक सुराग है?

+1

आप दोनों मूल प्रमाणपत्र और आत्म पर हस्ताक्षर किए प्रमाणपत्र आयात करने के लिए किया है। फिर यह काम कर रहा है, –

+2

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

उत्तर

4

समस्या चरण 4 में थी। मैं रूट सर्टिफिकेट से थंबप्रिंट का उपयोग सेर्थथ में मूल्य के लिए कर रहा था। इसे हल करने के लिए मुझे एमएमसी में वापस जाना पड़ा और प्रमाणपत्र (स्थानीय कंप्यूटर) -> व्यक्तिगत -> प्रमाणपत्र फ़ोल्डर रीफ्रेश करना पड़ा। फिर रूट प्रमाण पत्र प्राधिकरण द्वारा "जारी किए गए" प्रमाण पत्र से थंबप्रिंट का उपयोग करें।

32

मुझे एक ही त्रुटि थी। पहली बार ऐसा हुआ, जैसा कि माइकल ने कहा, मुझे प्रमाण पत्र (स्थानीय कंप्यूटर) -> व्यक्तिगत -> प्रमाणपत्र फ़ोल्डर के तहत प्रमाण पत्र ले जाना पड़ा। जब मैं एक और मशीन पर एक ही प्रमाण पत्र आयात करता था तो मुझे वही त्रुटि थी। कारण यह था कि मैं प्रमाणपत्र आयात करने के लिए certmgr.msc का उपयोग कर रहा था। । इस प्रकार खोला गया खिड़की "प्रमाण पत्र - वर्तमान उपयोगकर्ता" दिखाता है। इस विंडो का उपयोग करके आयात किए गए प्रमाणपत्र 1312 त्रुटि के साथ विफल होने के लिए नेट्स का कारण बनते हैं। प्रमाण पत्र आयात करने के लिए एमएमसी में सर्टिफिकेट स्नैप-इन का उपयोग करना सुनिश्चित करें। एमएमसी से प्रमाण पत्र स्नैप-इन "प्रमाण पत्र (स्थानीय कंप्यूटर)" दिखाता है। यह नेटशेस निष्पादन को पार करने देता है।

+0

आप मेरे दोस्त एक जीवन बचतकर्ता हैं !!! – JustAGuy

+0

ditto। वह मुझे आधा दिन था। बहुत बहुत धन्यवाद - एम $ कृपया इसे और अधिक स्पष्ट करें! – penderi

+0

धन्यवाद - यह पूरी तरह से काम किया। –

18

मैं इस मुद्दे से निपट रहा था और मैं एक स्वयं-होस्टेड डब्ल्यूसीएफ सेवा का उपयोग कर रहा हूं। मैंने अभी सफलता हासिल की:

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

मैंने दोनों प्रमाण पत्र स्थापित किए- एक समाप्त हो गया और नया। तब मैं उनमें से एक सूची प्राप्त करने के लिए इस आदेश का प्रयोग किया:

certutil -store My

मैं इस निर्गम (जानकारी नकली है और अन्य प्रमाण पत्र सूचीबद्ध नहीं हैं) मिलती है:

================ Certificate 1 ================ 
Serial Number: 6d 
Issuer: [email protected], CN=VoiceTrust Server CA, OU=VoiceTrust Oper 
ations, O=VoiceTrust 
NotBefore: 03-Jan-2013 3:33 PM 
NotAfter: 03-Mar-2013 3:33 PM 
Subject: [email protected], CN=hornet.voicetrust.com, OU=Software Develop 
ment, O=VoiceTrust eServices MENA FZ LLC, L=Dubai, C=AE 
Non-root Certificate 
Cert Hash(sha1): 98 5f a0 d3 11 6a 4b 64 3b db 0a a4 11 66 fc 08 28 74 7e 53 
    Key Container = {E5BC0912-7808-4B89-B457-31946DE5990E} 
    Unique container name: dfedfcc149408fb990a3bacd6d31126b_3277b2c9-9894-46d0-9b6 
4-30f0d6589239 
    Provider = Microsoft Enhanced Cryptographic Provider v1.0 
Private key is NOT exportable 
Encryption test passed 

================ Certificate 2 ================ 
Serial Number: 6d 
Issuer: [email protected], CN=VoiceTrust Server CA, OU=VoiceTrust Oper 
ations, O=VoiceTrust 
NotBefore: 03-Nov-2013 3:33 PM 
NotAfter: 03-Dec-2013 3:33 PM 
Subject: [email protected], CN=hornet.voicetrust.com, OU=Software Develop 
ment, O=VoiceTrust eServices MENA FZ LLC, L=Dubai, C=AE 
Non-root Certificate 
Cert Hash(sha1): 30 5f a0 d3 11 6a 4b 64 3b db 0a a4 11 66 fc 08 28 74 7e 53 
    Key Container = {E5BC0912-7808-4B89-B457-31946DE5960E} 
    *Unique container name:* 55edfcc149408fb990a3bacd6d31126b_3277b2c9-9894-46d0-9b6 
4-30f0d6589239 
    Provider = Microsoft Enhanced Cryptographic Provider v1.0 
Private key is NOT exportable 
Encryption test passed 

अब, सब कुछ ठीक लगता है, लेकिन प्रमाण पत्र 1 समाप्त हो गई है और काम करता है अगर मैं एक बंदरगाह के लिए बाध्य करने के लिए यह जबकि प्रमाण पत्र 2 त्रुटि 1312.

मुख्य अंतर यह है कि विस्मित कर मुझे अनोखा कंटेनर नाम संपत्ति थी के साथ विफल कोशिश कर रहा है। यह %ProgramData%\Microsoft\Crypto\RSA\MachineKeys\

प्रमाणपत्र 1 के लिए हार्ड ड्राइव पर एक भौतिक कुंजी फ़ाइल का प्रतिनिधित्व करना चाहिए, फ़ाइल वहां थी लेकिन प्रमाणपत्र 2 के लिए, ऐसी कोई फ़ाइल नहीं थी। खोज के बाद मुझे %AppData%\Microsoft\Crypto\ फ़ोल्डर के उप फ़ोल्डर में प्रमाणपत्र 2 के खिलाफ फ़ाइल मिली। यह उपयोगकर्ता विशिष्ट कुंजी नहीं है मशीन स्तर कुंजी। यह आश्चर्यजनक है कि सर्टिफिकेट को कंप्यूटर स्टोर में आयात किया जा रहा है, फिर भी यह हमेशा उपयोगकर्ता की दुकान की कंटेनर कुंजी रखता है।

मैं AppData फ़ोल्डर के अंतर्गत '55edfcc149408fb990a3bacd6d31126b_3277b2c9-9894-46d0-9b64-30f0d6589239' फ़ाइल हटा दी और दुकान पर अपने प्रमाण पत्र 2 के लिए मरम्मत आदेश भागा:

certutil -repairstore My 2

इस बार, अद्वितीय कंटेनर नाम '% ProgramData% \ Microsoft \ Crypto \' के तहत उचित फ़ोल्डर में फ़ाइल को प्रतिबिंबित कर रहा था और सब कुछ काम करना शुरू कर दिया।

आशा है कि यह किसी के लिए सहायक होगा।

+0

इससे मुझे मेरी समस्या को समझने में मदद मिली। मैंने रूट सीए और एसएसएल प्रमाण उत्पन्न करने के लिए ओपनएसएसएल का इस्तेमाल किया। जब मैंने "certutil -store My" चलाया, तो एसएसएल प्रमाण पत्र ने कहा "कोई कुंजी प्रदाता जानकारी नहीं"। मैंने एसएसएल प्रमाण के खिलाफ "openssl pkcs12" निष्पादित किया और अब यह "प्रदाता = माइक्रोसॉफ्ट एन्हांस्ड क्रिप्टोग्राफिक प्रदाता v1.0" दिखाता है। – cstick

1

इस त्रुटि को प्राप्त करने के कई तरीके हैं (अन्य उत्तरों के लिए ऊपर देखें)।

इस विशिष्ट त्रुटि को प्राप्त करने का एक और तरीका है जब प्रमाणपत्र उचित स्टोर में नहीं है तो एक पोर्ट को प्रमाण पत्र बांधने का प्रयास करना है।

सत्यापित करें कि प्रमाणपत्र स्थानीय मैचिन रूट स्टोर में संग्रहीत है (आप कमांड लाइन से certutil या certmgr.exe का उपयोग इसे सही ढंग से डंप करने के लिए कर सकते हैं)।

अद्यतन व्याकरण :)

8

मैं सारा दिन त्रुटि 1312 लड़ रहा है, क्या यह मेरे लिए तय एक .crt के बजाय एक .p12 फ़ाइल के रूप में एमएमसी में प्रमाणपत्र आयात किया गया था। आप OpenSSL के साथ बना रहे हैं तो एक बार आप .crt बनाया है, तो कार्य करें:

pkcs12 -export -in server.crt -inkey server.key -name “Your Name” -out server.p12 

As described। जब आप इसे एमएमसी में आयात करने के लिए जाते हैं तो इसे "व्यक्तिगत सूचना एक्सचेंज" फ़ाइल कहा जाएगा (और स्पष्ट रूप से एक .pfx फ़ाइल भी काम करेगी)।

मैं सर्वर लिखने और एसएसएल से निपटने के लिए नया हूं और मुझे नहीं पता कि यह क्यों काम करता है, लेकिन मुझे उम्मीद है कि इससे मदद मिलती है।

+0

पहला जवाब जो मेरे लिए काम करता है, स्वयं हस्ताक्षरित प्रमाण का उपयोग नहीं करता, बल्कि एक "आधिकारिक" एसएसएल प्रमाण। मैंने पूरी तरह प्रमाणित श्रृंखला को पीएफएक्स/पी 12 में निर्यात करने के लिए एमएमसी प्रमाण प्रबंधन उपकरण का उपयोग किया। – z00l

5

मैं अपने मामले में समस्या यह थी कि सीईआर फ़ाइल में निजी कुंजी संलग्न नहीं है।

मैं उन OpenSSL का उपयोग कर पी संलग्न किया है आदेश:

openssl x509 -in server.der -inform DER -out server.pem -outform PEM 
openssl pkcs12 -export -in server.pem -inkey serverkey.pem -out server.p12 

वर्क्स CER के लिए/डीईआर फ़ाइलें।

25
SSL Certificate add failed, Error 1312 

A specified logon session does not exist. It may already have been terminated. 

मुझे एक ही समस्या का सामना करना पड़ा और यह जानने का प्रयास करने में कुछ दिन बिताए कि कारण क्या था।

लम्बी कहानी कम करने के लिए: समस्या यह है कि आप winrm सर्वर है कि निजी कुंजी नहीं है पर प्रमाण पत्र स्थापित किया है है।

मैंने इसे कई बार चेक किया है। certificates - - local machine - personalmmc: http://blogs.technet.com/b/jhoward/archive/2005/02/02/365323.aspx

आप आसानी से अगर अपने प्रमाण पत्र के रूप में तो निजी एक कुंजी है जाँच कर सकते हैं: आप के रूप में यह पूरी तरह से यहाँ वर्णित है, अपने प्रमाण पत्र हटा सकते हैं और उदाहरण के लिए makecert का उपयोग करके इसे फिर से बनाने की है। प्रमाण पत्र के आइकन को देखें - इसमें आइकन पर महत्वपूर्ण चिह्न होना चाहिए।

+1

यह मेरे मामले को ठीक से हल करता है। मुख्य बिंदु बाएं शीर्ष कोने पर एक छोटी "कुंजी" वाला आइकन है। "कुंजी" के बिना, 1312. "कुंजी" के साथ, सफलता! – Verilocos

+0

यह मेरा मामला भी था। मैंने लापता कुंजी आइकन देखा था, लेकिन मैंने इसे बहुत महत्व नहीं दिया। मुझ पर शर्म की बात है। – Gayolomao

+0

यदि आपके पास निजी कुंजी के बिना प्रमाणपत्र है (स्नैपइन में प्रमाणपत्र आइकन के ऊपरी बाएं कोने में कोई कुंजी प्रतीक नहीं है), तो आप इन चरणों के बाद एक कुंजी जोड़ सकते हैं: https://support.microsoft.com/en-us/kb/88 9 651 - सावधानी! इससे संबंधित अन्य चीजों के साथ, यदि आप विवरण से कुंजी कॉपी/पेस्ट करते हैं तो आप शुरुआती डबल कोट और थंबप्रिंट या सीरियल नंबर के पहले अंक के बीच गैर-प्रिंट करने योग्य वर्ण (कंसोल विंडो में प्रश्न चिह्न) के साथ समाप्त हो सकते हैं। प्रमाण पत्र के लिए संवाद बॉक्स। इसे मिटाओ! उदाहरण: certutil -repairstore मेरा "विज्ञापन 59 ... आदि ... वह '?' जाने की जरूरत है। – BRebey

0

मुझे एक ही समस्या थी, हालांकि मेरी .pfx फ़ाइल में निजी कुंजी थी। एमएमसी कंसोल के साथ प्रमाण पत्र जोड़ना सफल रहा, लेकिन प्रोग्रामिंग रूप से .Net X509Store.Add (X509Certificate2) विधि का उपयोग करके त्रुटि 1312 के साथ हर बार विफल रही। सर्टिफिकेट के आइकन पर भी एक महत्वपूर्ण संकेत था।
कई दिनों के बाद फाइनली ने यहां पोस्ट में सुझाए गए मेकर्ट.एक्सई का उपयोग करके नया प्रमाणपत्र बनाने का फैसला किया। उसके बाद सबकुछ ठीक था। कुंजी% ProgramData% \ Microsoft \ Crypto \ RSA \ MachineKeys में दिखाई दी। किसी कारण से मेरी पिछली पीएफएक्स फ़ाइल संगत नहीं थी।

मेरे अनुभव में, जब तक आपकी कुंजी% ProgramData% \ Microsoft \ Crypto \ RSA \ MachineKeys \ में दिखाई नहीं दे रही है, 'netsh http add sslcert ....' के साथ बाध्यकारी विफल हो जाएगी।

1

हैं:

  1. आप अपने मशीन पर आईआईएस नहीं था (स्वयं के द्वारा होस्ट WCF के साथ काम कर मान लें), और
  2. आप आईआईएस प्रबंधक का उपयोग कर एक और मशीन पर अपने प्रमाणपत्र अनुरोध किया (क्योंकि आप समझ में नहीं आया कि निजी कुंजी प्रमाणपत्र अनुरोध में एम्बेडेड सिफर से आता है - और बाद में जारी किए गए .pb7)

तो:

  1. आईआईएस मशीन पर .pb7 इंस्टॉल करें जिसे आप प्रमाण अनुरोध (स्थानीय मशीन/व्यक्तिगत/प्रमाण पत्र - एमएमसी का उपयोग करके) बनाने के लिए उपयोग करते थे;
  2. उस मशीन से प्रमाणपत्र निर्यात करें, जिसमें इसकी निजी कुंजी (पासवर्ड असाइन करें) शामिल है; और
  3. इसे डब्ल्यूसीएफ सर्वर (स्थानीय मशीन/व्यक्तिगत/प्रमाण पत्र - एमएमसी का उपयोग करके) पर एमएमसी का उपयोग करके स्थापित करें।

फिर, netsh आपको पोर्ट 443 से बांधने देगा। कोई और 1312 त्रुटियां नहीं।

2

मैं एक ही समस्या थी और इस आदेश का उपयोग प्रमाण पत्र का आयात हल: प्रमाण पत्र नहीं करता है इस आदेश से पहले

c:> certutil -store my

:

c:> certutil -importPFX certname.pfx

अब प्रमाण पत्र इस आदेश का उपयोग दिखाई

1

बस एक और जवाब फेंकने के लिए अंगूठी, यह मेरी समस्या है:

हालांकि मैंने अपना प्रमाणपत्र (Local Computer)\... प्रमाणपत्र स्टोर में आयात किया है, मैंने इसे Trusted Root Certification Authorities अनुभाग में आयात किया था। मुझे इसे Personal अनुभाग में आयात करने की आवश्यकता है, अन्यथा यह त्रुटि हुई।

0

certstorename तर्क .net फ्रेमवर्क नेमस्पेस System.Security.Cryptography.X509Certificates से StoreName गणना का स्ट्रिंग मान होना चाहिए।

0

मैं इस पर घंटों तक काम कर रहा हूं, और मूल रूप से @ DoomerDGR8 ने जो कहा है, उसके माध्यम से पढ़ा है, लेकिन मेरा फिक्स बहुत आसान था। मैं

C:\Windows\system32> certutil -store TRUSTEDPUBLISHER 

यह सूचीबद्ध कई प्रमाण पत्र मैं स्थापित किया है भाग गया, मैं तो प्रमाण पत्र है कि मैं netsh साथ स्थापित करने के लिए एक समस्या हो रही थी पर मरम्मत की दुकान भाग गया।

C:\Windows\system32> certutil -repairstore TRUSTEDPUBLISHER 6 

संख्या अंत में अपने प्रमाण पत्र, दुकान में पर पाया के सूचकांक का प्रतिनिधित्व करता है, उम्मीद है कि इस मदद करता है

1

यह स्पष्ट लग सकता है; हालांकि, मुझे लगता है कि यह किसी को सिर खरोंच के कुछ समय बचा सकता है। मैंने अपने व्यक्तिगत प्रमाणपत्र फ़ोल्डर (व्यक्तिगत कंप्यूटर खाते के लिए) के तहत .cer एक्सटेंशन के साथ एक फ़ाइल आयात की थी। थोड़ी देर बाद, मुझे एहसास हुआ कि मुझे इसके बजाय * .pfx एक्सटेंशन के साथ फ़ाइल आयात करने की आवश्यकता है। फिक्स्ड कि और voilà! समस्या सुलझ गयी!

+1

यह स्पष्ट प्रतीत होता है लेकिन जब आपको एहसास नहीं होता कि आपको उस पीएफएक्स की ज़रूरत है ... धन्यवाद! –

0

प्रमाण पत्र बनाते समय मेरे मामले में मैंने माई फॉर माय सर्ट स्टोर नाम से अलग नाम चुना। डिफ़ॉल्ट नाम मेरा है। इसलिए यदि आपका अलग-अलग प्रमाणपत्र है तो certstorename = आदेश प्रदान करने के लिए आपके प्रदत्त स्टोर का नाम

5

मैंने अपने इंटरनेट सर्वर पर एक विशिष्ट बंदरगाह पर स्वयं होस्टेड (कंसोल एप्लिकेशन) वेब सेवा को सुरक्षित करने के लिए आधिकारिक Thawte प्रमाणपत्र खरीदा है। मुझे तब थॉवे प्रमाणपत्र प्राप्त हुआ है और इसे हमारे इंटरनेट सर्वर पर एमएमसी के साथ स्थापित किया गया है (प्रमाणपत्र तब "विश्वसनीय रूट प्रमाणन प्राधिकरण" के तहत देखा जा सकता है (छवि पर मुख्य आइकन के साथ, यह दर्शाता है कि प्रमाणपत्र में एक निजी कुंजी क्या है एक पोर्ट बीटीडब्ल्यू को बांधने में सक्षम होना अनिवार्य है)।

netsh http add urlacl url=https://+:<port>/ user=everyone 

(कोई समस्या नहीं क्या था)

अगला चरण बंदरगाह (सक्षम करने के लिए किया गया था) https के लिए:

netsh http add sslcert ipport=0.0.0.0:<port> certhash=<thumbprint to certificate> appid={<guid to application>} 

अगला चरण https के लिए <port> सक्षम करने के लिए था यह त्रुटि संदेश के साथ विफल रहा है:
SSL प्रमाणपत्र जोड़ें विफल, त्रुटि: 1312 एक निर्दिष्ट लॉगऑन सत्र मौजूद नहीं है। इसे पहले से ही समाप्त कर दिया जा सकता है।

मैंने फिर इंटरनेट की खोज की है और विभिन्न सुझाए गए वर्कअराउंड (सफलता के बिना) की कोशिश की है।

netsh http add sslcert ipport=0.0.0.0:<port *1)> certstorename=Root certhash=<thumbprint to certificate *2)> appid={<guid to application *3)>} 

नोट्स::

मेरे मामले के लिए समाधान netsh आदेश को certstorename = रूट जोड़ने के लिए था
कोई certstorename शुद्ध netsh आदेश के लिए आवेदन किया गया है, तो , netsh डिफ़ॉल्ट लेता है , मेरा क्या है (प्रमाणपत्र स्टोर का लक्ष्य क्या है: "व्यक्तिगत" जहां स्वयं हस्ताक्षरित प्रमाण पत्र सामान्य रूप से संग्रहीत होते हैं)।
रूट लक्ष्य प्रमाणपत्र संग्रह: "विश्वसनीय रूट प्रमाणीकरण प्राधिकारी"

* 1): पोर्ट, आप कनेक्शन
* 2) का उपयोग करना चाहते हैं: आप, प्रमाण पत्र के लिए थंबप्रिंट निकाल सकते हैं अगर आप प्रमाण पत्र खोलें (विंडोज़ सिस्टम पर, एक्सप्लोरर में प्रमाणपत्र को डबलक्लिक करें) - टैब "विवरण" का चयन करें और "थंबप्रिंट" पर क्लिक करें। तब "थंबप्रिंट" दिखाया गया है और इसकी प्रतिलिपि बनाई जा सकती है। थंबप्रिंट की प्रतिलिपि बनाएँ और सभी रिक्त स्थान हटाएं ...
* 3): एपिड के रूप में आप फॉर्म {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} में कोई भी आईडी ले सकते हैं क्योंकि एपीआईडीआईडी ​​केवल सूचनात्मक है। "नेटस् एचटीएमएल शो एसएसएलसीर्ट" कमांड के साथ आप पूरी मशीन पर बाध्य प्रमाणपत्र पूछ सकते हैं और जानकारी सूचनात्मक देखेंगे, कौन सा एपिड सर्टिफिकेट (अभ्यास बीटीडब्ल्यू में वास्तव में सहायक नहीं है) मेरे मामले में, मैंने लिया है अपने वेब सेवा आवेदन

0

मैं एक ही त्रुटि थी करने के लिए (वी.एस. से उत्पन्न) GUID जब OpenSSL (BouncyCastle) के साथ स्वयं हस्ताक्षरित प्रमाणपत्र बनाने मैं इस पोस्ट की मदद से इसका समाधान नहीं: Cannot export generated certificate with private key to byte array in .net 4.0/4.5

मैं जोड़ने के लिए किया था:

 RsaPrivateKeyStructure rsa = RsaPrivateKeyStructure.GetInstance(seq); //new RsaPrivateKeyStructure(seq); 
     RsaPrivateCrtKeyParameters rsaparams = new RsaPrivateCrtKeyParameters(
      rsa.Modulus, rsa.PublicExponent, rsa.PrivateExponent, rsa.Prime1, rsa.Prime2, rsa.Exponent1, rsa.Exponent2, rsa.Coefficient); 

     var rsaPriv = DotNetUtilities.ToRSA(rsaparams); 

     var cspParams = new CspParameters 
     { 
      KeyContainerName = Guid.NewGuid().ToString(), 
      KeyNumber = (int)KeyNumber.Exchange, 
      Flags = CspProviderFlags.UseMachineKeyStore 
     }; 

     var rsaPrivate = new RSACryptoServiceProvider(cspParams);** 

     // Import private key from BouncyCastle's rsa 
     rsaPrivate.ImportParameters(rsaPriv.ExportParameters(true)); 

     // Set private key on our X509Certificate2 
     x509.PrivateKey = rsaPrivate; 
0

तो जोड़ने के लिए (अभी तक) फिक्स/स्थिति।

मेरे पास सी # कोड था जो स्वयं हस्ताक्षरित प्रमाणपत्र बनाने के लिए बाउंसीकास्टल का उपयोग करता था।

<packages> 
    <package id="BouncyCastle" version="1.8.1" targetFramework="net45" /> 

तो मेरे कोड ने प्रमाण पत्र बनाए और उन्हें प्रमाणपत्र-स्टोर में सही स्थानों पर रखा।

यहां संकेतों का उपयोग करके, मेरे Premise Service Bus 1.1 का इंस्टॉल विफल रहा था ... और इससे मुझे यहां पहुंचा।

मैंने अपने बाउंसीकास्टल कोड (प्रमाण पत्र से) दोनों प्रमाणपत्रों को प्रमाणित करना समाप्त कर दिया और उन्हें (निजी कुंजी के साथ) दोबारा आयात किया .... और यह सब काम किया। मैं किसी भी अन्य स्थानों (स्टोर) के लिए

Certificates (Local Computer)/Personal/Certificates

तो मैं चिपकाया की नकल की (एमएमसी में) करने के लिए सबसे पहले आयातित मैं उन्हें जरूरत है।

मेरे "पहले" और "के बाद" एमएमसी में मेरी आँखों से बिल्कुल वैसा ही लग रहा था, लेकिन यह समस्या का समाधान हो। जाओ पता लगाओ।

0

मैं बस अभी तक एक त्रुटि थी। मैंने एक ही निजी कुंजी का उपयोग करके हमारे सीए से हमारी वर्कफोल्डर्स सेवा के लिए एक कालबाह्य प्रमाण पत्र नवीनीकृत किया। तब मुझे हमेशा त्रुटि 1312 मिली। भले ही सर्टिफिकेट मैनेजमेंट दिखाता है कि मेरे पास निजी कुंजी है।
मैं केवल एक नया प्रमाणपत्र जारी करने (नवीनीकरण विकल्प के बिना) समस्या को हल कर सकता हूं। फिर यह पहली कोशिश पर काम किया।
शायद यह किसी ऐसे व्यक्ति की सहायता करेगा जिसने नवीनीकरण विकल्प भी आजमाया है।

0

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

यह भी रूप में अन्य लोगों ने बताया है स्थानीय मशीन की दुकान की जरूरत है।