Как удалить хранилище сертификатов, добавленное 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 Win32 API

4 7

4 ответа:

Прочитайте это и добавьте тип с кодом c# с pinvoke (уже сделано!) из crypt32.dll

Я случайно создал магазин под названием Personal и хотел избавиться от него (конечно). Два личных магазина, чтобы искать тьфу. В любом случае, я добавил сертификат, который создал в этом хранилище, скопировал отпечаток большого пальца (и удалил пробелы), а затем искал отпечаток в реестре. Я обнаружил, что могу заставить их исчезнуть, удалив ключ (в моем случае Personal) в [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)