Удаление самоподписанного сертификата из моего магазина - PullRequest
6 голосов
/ 18 апреля 2011

Есть ли способ удалить / удалить самозаверяющий сертификат из моего магазина с помощью powershell?

Я пытался

Remove-Item cert:\LocalMachine\My\$thumb

, это не сработало, я получил исключение, говоря "Провайдерне поддерживает эту операцию "

Я также пытался

 certmgr.msc /del /n "MyTestServer" /s MY

тоже не сработало

Как удалить сертификат из хранилища ??

Заранее спасибо Боже

Ответы [ 5 ]

7 голосов
/ 18 апреля 2011

Remove-Item не работает с сертификатами, потому что der cert-provider только для чтения в powershell. Нашел эту информацию здесь

$store = new-object system.security.cryptography.x509certificates.x509Store 'My','CurrentUser'
$store.Open('ReadWrite')
$certs = @(dir cert:\currentuser\my | ? { $_.Subject -like '*MyTestServer*' })
foreach ($cert in $certs) {$store.Remove($cert)}
$store.close() 

Я нашел решение здесь в комментариях. Так что это не проверено.

5 голосов
/ 15 февраля 2012

Нашел эту статью, потому что remove-item не работал.

Это не совсем «истинный» powershell, но я использую этот метод:

certutil -delstore my "5314bdfa0255be36e53e749d033"

Вы можете получить отпечаток большого пальца через cert: \ LocalMachine \ my или через certutil. В моем случае у меня есть несколько сертификатов с одинаковым именем, поэтому мне больше нравится вышеуказанный метод, потому что он дает мне конкретную цель при удалении сертификата.

1 голос
/ 20 октября 2014

В PS 3.0 есть более сжатый и идиоматический подход:

Remove-Item -Path cert:\LocalMachine\My\{Thumbprint} -DeleteKey

См. TechNet для всех деталей.

1 голос
/ 10 апреля 2014

Это также будет работать в powershell

Чтобы получить сертификат dir для отпечатка пальца: \ localmachine \ my

Чтобы удалить отпечаток большого пальца: \ localmachine \ my \ thumbprint

0 голосов
/ 18 апреля 2019

С PS 3.0, если вы хотите удалить по названию subject

Get-ChildItem -Path Cert:\CurrentUser\My | where { $_.subject -eq "CN=MysubjectName" } | Remove-Item
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...