如何授予网络服务在证书库中安装证书的权限

时间:2012-07-05 07:36:57

标签: asp.net c#-4.0 certificate x509certificate network-service

我们开发了一个ASP.Net应用程序。我的apppool在Network Service Identify.Throug代码下运行,我们需要安装证书。由于我的应用程序池与网络服务权限一起运行,因此它会将加密异常“拒绝访问”。

我尝试过以下选项:

  1. 为以下路径指定网络服务的完全权限: “C:\ Documents and Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys”
  2. 安装和以下工具授予网络服务权限。 WinHttpCertCfg.exe 无法授予证书根目录权限。此工具仅用于授予访问特定证书的权限。
  3. 请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

根据在msdn

找到的文章

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384088(v=vs.85).aspx

它说:

  

注意用户必须具有足够的权限才能使用此工具,这需要用户是管理员,并且安装了客户端证书的用户(如果已安装)。

因此,请检查网络服务是否是本地管理员组的成员。

答案 1 :(得分:0)

全文 ASP.net permissions to root certificate store

从下面的链接下载WCF示例项目并编译FindPrivatekey项目。 (提示:添加引用system.security否则你将捕获一个未定义的X509Certificate2UI函数错误) http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21459