2011-08-31 84 views
4

任何人都可以指向正确的方向来管理命令行中的证书读取权限吗?我在编写证书安装脚本,并且需要允许NetworkService访问“本地计算机\个人\证书”存储中的2个证书。从命令行设置对证书的读取权限

在此先感谢

回答

4

我已经做了授予已安装在Windows中的证书的私钥我们的Web应用程序的访问。

这是一个PowerShell脚本。它依赖于来自Microsoft的FindPrivateKey.exe

# Use FindPrivateKey.exe (From Windows SDK) to get the file name of the private key. 
$s = cmd /c "FindPrivateKey.exe My LocalMachine -t `"9D1F685D554E5B04C591D7967FB0D151153A25D8`" -a" 

# Grant read access on the private key 
cmd /c "cacls.exe `"$s`" /E /G `"IIS_IUSRS`":R" 
+0

我想我从Windows Communication Foundation(WCF)Samples获得FindPrivateKey.exe @ http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21459。 – Jamey

+0

谢谢,我找到了FindPrivateKey.exe - 我会试试看! – jaspernygaard

+0

我把这个放在一个批处理脚本中,出于某种奇怪的原因,当findprivatekey.exe从批处理文件运行时找不到指定的证书,但是从命令行完美地工作! – jaspernygaard