2012-03-15 12 views
6

द्वारा जोड़े गए प्रमाणपत्र स्टोर को कैसे निकालें Microsoft उपकरण MakeCert.exe (-ss विषय प्रमाण पत्र स्टोर नाम जो आउटपुट प्रमाणपत्र संग्रहीत करता है) का -ss विकल्प का उपयोग करके, मैं सर्वर पर अपना स्वयं का स्टोर बना देता हूं। मैं अपने प्रमाणपत्र प्रोग्रामेटिकल को हटाने में सक्षम हूं, लेकिन मैं स्टोर को खुद को हटाने में सक्षम नहीं हूं। त्रुटि संदेश के अनुसार यह प्रदाता द्वारा समर्थित नहीं लगता है।मेकर्ट

मैं भी इसे हटाने के लिए एमएमसी स्नैप-इन में (certmgr.msc) का उपयोग नहीं कर सकते हैं। क्या कोई जानता है कि ऐसा कैसे करें?

PS cert:\LocalMachine> Remove-Item .\SigningStore 
Remove-Item : L'exécution du fournisseur s'est arrêtée, car le fournisseur ne prend pas en charge cette opération. 
Au niveau de ligne : 1 Caractère : 12 
+ Remove-Item <<<< .\SigningStore 
    + CategoryInfo   : NotImplemented: (:) [Remove-Item], PSNotSupportedException 
    + FullyQualifiedErrorId : NotSupported,Microsoft.PowerShell.Commands.RemoveItemCommand 

एक ही रास्ता मैंने पाया उपयोग करने के लिए CertUnregisterSystemStore Win32 एपीआई

+0

आप करने के लिए कोई टिप्पणी लिखी [मेरा उत्तर] (http://stackoverflow.com/a/9749076/315,935)। क्या समस्या पहले ही हल हो चुकी है? – Oleg

+0

क्षमा करें, मुझे बस इसका परीक्षण करने में समय नहीं लगता है। मैं करूँगा और जवाब दूंगा। – JPBlanc

उत्तर

4

पढ़ें this और ऐड-प्रकार सी # कोड के साथ crypt32.dll

+0

धन्यवाद @ क्रिस्टियन, मुझे यह मिला, मैंने अपने अंतिम वाक्य में CertUnregisterSystemStore के बारे में लिखा था। – JPBlanc

+0

@ जेपीब्लैंक। हां मैंने आपको अंतिम वाक्य पढ़ा है लेकिन एमएसडीएन से लिंक के पास सभी झंडे मूल्यों के साथ पिनवोक नहीं है! कम काम, अधिक समय उपलब्ध! :-) LINQPad में, आप या तो करने के लिए '' आयातित System.Runtime.InteropServices'', या पूरी तरह से निर्दिष्ट DllImport, उदा जरूरत –

+0

ध्यान दें कि '' [System.Runtime.InteropServices.DllImport ("crypt32.dll", charset = System.Runtime.InteropServices.CharSet.Unicode)] '' – Nathan

0

आप प्रमाणपत्र प्रबंधक उपकरण की कोशिश की थी? http://msdn.microsoft.com/en-us/library/e78byta0%28VS.80%29.aspx (देखें certmgr.exe/डेल)

+0

धन्यवाद, मैं इस उपकरण के साथ उपयोगकर्ता प्रमाण पत्र को हटाने में सक्षम हूं, लेकिन कंप्यूटर स्टोर नहीं। – JPBlanc

+2

आपका प्रश्न "पावरशेल" के साथ भी टैग किया गया है। हो सकता है कि यह आपकी मदद कर सकते हैं: http://dmitrysotnikov.wordpress.com/category/certificate-management/ (देखें निकालें-QADLocalCertificateStore) –

+1

@DavidBrabant आपकी आखिरी टिप्पणी एक जवाब है! –

7

की PInvoke (पहले से ही किया है!) के साथ मैं गलती से एक दुकान व्यक्तिगत बुलाया बनाया है और वह से छुटकारा पाने के लिए चाहते थे (बेशक)। उघह को देखने के लिए दो निजी स्टोर। वैसे भी, मैंने एक प्रमाणपत्र जोड़ा जो मैंने उस स्टोर में बनाया था, थंबप्रिंट की प्रतिलिपि बनाई (और रिक्त स्थान हटा दी) और फिर थंबप्रिंट के लिए रजिस्ट्री की खोज की। मुझे लगता है मैं उन्हें [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ SystemCertificates \ व्यक्तिगत] (स्थानीय मशीन में हैं) पर या कम से कुंजी (मेरे मामले व्यक्तिगत में) को हटा कर चले जाओ बना सकता है की खोज की [HKEY_CURRENT_USER \ Software \ Microsoft \ SystemCertificates \ व्यक्तिगत] वर्तमान उपयोगकर्ता में है। मुझे पता था कि यह व्यक्तिगत नहीं था जिसे वास्तविक कहा जाता है क्योंकि वास्तविक व्यक्तिगत स्टोर वास्तव में मेरा रूप में संग्रहीत होता है।

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

इस पोस्ट में एक सा सहायक के रूप में अच्छी तरह से किया गया था: http://banachowski.com/deprogramming/2011/01/deleting-unwanted-certificate-stores-from-windows/

3

एक PowerShell cmdlet का उपयोग करें:

Remove-Item -Path cert:\LocalMachine\StoreYouWantToDelete 
+1

पोस्ट कोड पहले से ही 'निकालें-Item' – stuartd

+0

को संदर्भित करता है सिर्फ तुम क्या मैंने कोशिश की है कि प्रश्न के विषय का जवाब दें! – JPBlanc

संबंधित मुद्दे