Назад | Перейти на главную страницу

Импортировать сертификат .cer из командной строки Windows

Устал бродить по джунглям MMC, мне нужен способ импортировать заданный .cer файл (который содержит только открытый ключ) в хранилище сертификатов на уровне машины (не знаю, как он называется по-английски, поскольку я использую локализованную версию Windows) в папку «Личные сертификаты». Обе cmd.exe или версии PowerShell подойдут.

Решение Powershell с использованием System.Security.Cryptograpy.X509Certificates:

$filename = "MyFileName.cer"

[Reflection.Assembly]::Load("System.Security, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b03f5f7f11d50a3a")

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($filename)

$store = New-Object System.Security.Cryptography.X509Certificates.X509Store([System.Security.Cryptography.X509Certificates.StoreName]::My,[System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)

$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite);

$store.Add($cert);

Извините за все полные спецификации пространства имен, но в PowerShell нет директивы using.

Я не знаю, как импортировать его из командной строки, но для установки сертификата вам не нужны MMC, достаточно дважды щелкнуть по нему.

Это не верно. См. Сообщение Массимо о сборке отражения powershell.


Э-э ... способ PowerShell - открыть MMC. Technet Link

Эта команда открывает оснастку MMC «Сертификаты» для управления указанным сертификатом.

invoke item cert:\CurrentUser\my\6B8223358119BB08840DEE50FD8AF9EA776CE66B