从 Windows 命令行导入 .cer 证书

从 Windows 命令行导入 .cer 证书

厌倦了在 MMC 丛林中跋涉,我需要一种方法将给定.cer文件(仅包含公钥)导入到机器范围的证书存储区(不知道它在英语中如何称呼,因为我使用的是本地化版本的 Windows)的“个人证书”文件夹中。 这两个版本cmd.exe或 PowerShell 版本都可以。

答案1

Powershell 解决方案,使用系统.安全.加密.X509证书

$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”指令。

答案2

我不知道如何从命令行导入它,但是您不需要 MMC 来安装证书,双击它就足够了。

答案3

这是错误的。请参阅 Massimo 的帖子,其中包含 powershell 反射程序集。


呃...powershell的方式是打开MMC。Technet 链接

此命令打开证书 MMC 管理单元来管理指定的证书。

invoke item cert:\CurrentUser\my\6B8223358119BB08840DEE50FD8AF9EA776CE66B

相关内容