Как удалить хранилище сертификатов, добавленное makecert

С помощью -ss опция Microsoft tool MakeCert.exe (- ss указывает имя хранилища сертификатов субъекта, в котором хранится выходной сертификат), я создаю свой собственный магазин на сервере. Я могу удалить свой сертификат программно, но я не могу удалить сам магазин. Согласно сообщению об ошибке, это не поддерживается поставщиком.

Я даже не могу использовать MMC snapin (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 API-интерфейса Win32

4 ответов


читать этой и add-type с кодом C# с pinvoke (уже сделано!) of crypt32.dll


Я случайно создал магазин под названием Personal и хотел избавиться от него (конечно). Две личные магазинах искать ughhh. В любом случае, я добавил сертификат, который я создал в этом магазине, скопировал отпечаток (и удалил пробелы), а затем искал отпечаток в реестре. Я обнаружил, что могу заставить их уйти, удалив ключ (в моем случае Личный) в [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\Personal] (если на локальном компьютере) или в [HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Personal] находится в текущем пользователе. Я знал, что это не был другой, называемый личным, потому что настоящий личный магазин на самом деле хранится как мой.

EDIT: мне пришлось удалить несколько других ключей, чтобы решить эту проблему, но в основном тщательно искать и исследовать каждую запись, которая соответствует тому, от чего вы пытаетесь избавиться. Для каждого соответствия экспортируйте в файл reg, а затем удалите и протестируйте.

этот пост также был немного полезен: http://banachowski.com/deprogramming/2011/01/deleting-unwanted-certificate-stores-from-windows/


используйте командлет PowerShell:

Remove-Item -Path cert:\LocalMachine\StoreYouWantToDelete 

вы пробовали инструмент диспетчера сертификатов? http://msdn.microsoft.com/en-us/library/e78byta0%28VS.80%29.aspx (см. certmgr.exe / del)