在Windows 2012 R2上,winhttpcertcfg -i文件名-a CertAccount -c LOCAL_MACHINE \ MY -p密码将证书安装在受信任根存储上,而不是LOCAL_MACHINE \ MY。 我还需要将访问私钥授予由-a选项指定的帐户。 有没有办法使用Powershell / CertUtil实现相同?
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
缺less的是一个工具,它接受像Winhttpcertcfg这样的参数,它可以把一个参数放到你想要安装的存储中。 Certutil不能这样做。
见jaspernygaard的答案
Winhttpcertcfg允许授予对certutil不能执行的帐户的访问权限,并且它可以通过-g参数在Server 2008 R2上运行到Server 2012 R2。
请参阅http://technet.microsoft.com/en-us/library/ee662329.aspx
导入证书和授予帐户权限的唯一select是使用Powershell。 请参阅由mao47回答,以便使用Powershell简单导入证书
查看使用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