【问题标题】:How to give permission to Network service to install certificate in certificate store如何授予网络服务在证书存储中安装证书的权限
【发布时间】:2012-07-05 14:08:16
【问题描述】:

我们开发了一个 ASP.Net 应用程序。我的应用程序池在网络服务识别下运行。通过代码我们需要安装证书。由于我的应用程序池使用网络服务特权运行,因此会引发加密异常“拒绝访问”。

我尝试了以下选项:

  1. 获得以下路径的网络服务的完全权限: "C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys"
  2. 已安装以下工具以授予网络服务权限。 WinHttpCertCfg.exe 无法授予证书根权限。此工具仅有助于授予访问特定证书的权限。

请帮我解决这个问题。

【问题讨论】:

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


    【解决方案1】:

    根据在 msdn 上找到的文章

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

    上面写着:

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

    所以检查网络服务是否是本地管理员组的成员。

    【讨论】:

      【解决方案2】:

      整个故事 ASP.net permissions to root certificate store

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

      【讨论】:

        猜你喜欢
        • 2011-06-24
        • 2012-04-18
        • 1970-01-01
        • 1970-01-01
        • 2014-01-27
        • 1970-01-01
        • 2017-02-24
        • 2023-03-09
        • 2011-09-09
        相关资源
        最近更新 更多