在Win Server 2008中为证书设置私钥权限

时间:2012-05-08 20:11:30

标签: permissions certificate windows-server-2008 makecert

在Windows Server 2003上使用makecert创建证书时,我必须将私钥上的权限设置为可供NETWORK SERVICE访问,以便WCF服务可以读取私钥。我可以通过导航到C:\ Documents and Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys来访问该文件。一旦我为NETWORK SERVICE设置了读取权限,一切正常。

我正在查看Windows Server 2008,但无法在C:\ Users或其他任何地方找到类似的位置。设置私钥权限的正确机制是什么?他们在哪里?我正在使用makecert将其直接安装到TrustedPeople / localmachine

1 个答案:

答案 0 :(得分:4)

看起来这里使用的工具是WinHttpCertCfg.exe。与上述方法相比,这是设置证书私钥权限的更简洁方法。我的猜测是,在Windows 2008及更高版本中,MS决定将密钥隐藏在更离散的位置。

我使用WinHttpCertCfg设置权限。这是一个示例命令,用于为LOCAL_MACHINE \ TrustedPeople中名为MyCert01的证书授予NETWORK SERVICE读取权限。

winhttpcertcfg.exe -g -c LOCAL_MACHINE\TrustedPeople -s MyCert01 -a "NETWORK SERVICE"