在 Windows Server 2012 R2 上导入证书并授予权限

在 Windows Server 2012 R2 上导入证书并授予权限

在 Windows 2012 R2 上,winhttpcertcfg -i FileName -a CertAccount -c LOCAL_MACHINE\MY -p Password 将证书安装在受信任的根存储上,而不是 LOCAL_MACHINE\MY。我还需要向 -a 选项指定的帐户授予对私钥的访问权限。有没有办法使用 Powershell/CertUtil 实现相同的功能?

答案1

Winhttpcertcfg 无法在 Server 2008 R2 及更高版本上正确导入证书。下载页面显示它兼容至 Server 2003。请参阅

http://www.microsoft.com/en-us/download/details.aspx?id=19801

替代命令是 certutil。

http://technet.microsoft.com/library/cc732443.aspx

缺少的是一个可以接受参数的工具,比如 Winhttpcertcfg,它可以接受要安装到哪个商店的参数。Certutil 无法做到这一点。

查看 jaspernygaard 的回答

https://stackoverflow.com/questions/5171117/import-pfx-file-into-particular-certificate-store-from-command-line

Winhttpcertcfg 确实允许授予 certutil 不具备的帐户访问权限,并且它通过 -g 参数在 Server 2008 R2 至 Server 2012 R2 上运行。

http://technet.microsoft.com/en-us/library/ee662329.aspx

导入证书并向帐户授予权限的唯一选项是使用 Powershell。请参阅 mao47 的回答,了解如何使用 Powershell 轻松导入证书

https://stackoverflow.com/questions/5171117/import-pfx-file-into-particular-certificate-store-from-command-line

请参阅使用 Powershell 导入和授予访问权限的答案 https://stackoverflow.com/questions/20852807/setting-private-key-permissions-with-powershell

如果你想编写一个工具,那么使用 C#

http://www.codeproject.com/script/Forums/View.aspx?fid=1649&msg=2062983

https://stackoverflow.com/questions/12337721/how-to-programmatically-install-a-certificate-using-c-sharp

相关内容