【问题标题】:How to provide private key access to the application pool identity?如何提供对应用程序池身份的私钥访问?
【发布时间】:2011-12-06 08:05:02
【问题描述】:

我看到了这篇优秀的博客,它解释了如何提供对私钥的访问以及为什么需要它:

在 www.microsoft.com 上,我们有许多使用证书的应用程序 要访问其他 Web 服务,我们的做法是安装 带有私钥的证书到本地机器存储和 为私钥提供对应用程序池身份的访问权限,以及 使用证书的序列号或指纹 应用程序的 web.config。关键挑战之一是编写脚本 跨域访问应用程序池身份的私钥 服务器场。 (来源:http://tinyurl.com/cbsmpqk)

目前,我的 silverlight 应用程序无法访问数据库,因为它似乎无法访问已安装的证书(在 Azure 云上),因为这是读取加密的数据库连接字符串所必需的。

它说使用提供程序“CustomProvider”解密失败 -> 密钥集不存在。

按照上面的博客,我能够通过将已安装证书的权限更改为“已验证用户”甚至“用户”的额外读取权限来解决此问题。

在这两种情况下都可以正常工作,但我不了解安全隐患。这是否意味着现在互联网上的任何人都可以读取我的证书指纹?我是否误打开了安全漏洞?

我宁愿哪个用户名/角色授予对证书私钥的读取权限?

非常感谢

【问题讨论】:

    标签: asp.net .net iis-7 azure


    【解决方案1】:

    向IIS AppPool\AppPoolName 用户授予权限。例如,IIS AppPool\DefaultAppPool。

    来自这个答案:https://stackoverflow.com/a/2647003/991267

    【讨论】:

      【解决方案2】:

      我不认为这意味着任何人都可以访问您的私钥。如果您设置“经过身份验证的用户”或“用户”,则意味着只有这些组中的用户才有访问权限。但是,如果您设置 'everyone' 这意味着,每个人。

      【讨论】:

        猜你喜欢
        • 2023-03-09
        • 2020-09-28
        • 2021-05-09
        • 2011-06-30
        • 1970-01-01
        • 1970-01-01
        • 2011-06-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多