Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何提供对应用程序池标识的私钥访问?_Asp.net_.net_Iis 7_Azure - Fatal编程技术网

Asp.net 如何提供对应用程序池标识的私钥访问?

Asp.net 如何提供对应用程序池标识的私钥访问?,asp.net,.net,iis-7,azure,Asp.net,.net,Iis 7,Azure,我看到了这个优秀的博客,解释了如何提供私钥访问以及为什么需要私钥: 在www.microsoft.com上,我们有许多使用证书的应用程序 要访问其他web服务,我们的方法是安装 将带有私钥的证书放入本地计算机存储区,然后 提供对私钥和应用程序池标识的访问 在中使用证书的序列号或指纹 应用程序的web.config。其中一个关键挑战是编写脚本 在整个应用程序池中退出对应用程序池标识的私钥访问 服务器场。(来源:) 目前,我的silverlight应用程序无法访问数据库,因为它似乎无法访问已安装的证

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

在www.microsoft.com上,我们有许多使用证书的应用程序 要访问其他web服务,我们的方法是安装 将带有私钥的证书放入本地计算机存储区,然后 提供对私钥和应用程序池标识的访问 在中使用证书的序列号或指纹 应用程序的web.config。其中一个关键挑战是编写脚本 在整个应用程序池中退出对应用程序池标识的私钥访问 服务器场。(来源:)

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

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

根据上面的博客,我可以通过将已安装证书的权限更改为“已验证用户”的附加读取权限,甚至更改为“用户”权限来解决此问题

在这两种情况下,它都可以正常工作,但我不理解其中的安全含义。这是否意味着现在互联网上的任何人都可以阅读我的证书的指纹?我是否错误地打开了一个安全漏洞

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


非常感谢

我不认为这意味着任何人都可以访问您的私钥。如果设置“已验证用户”或“用户”,则表示只有这些组中的用户具有访问权限。但如果设置“everyone”,则表示“everyone”。

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

从这个答案中: