首页 文章

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

提问于
浏览
2

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

在www.microsoft.com上,我们有许多使用证书来访问其他Web服务的应用程序,我们的方法是将带有私钥的证书安装到本地计算机存储中,并提供对应用程序池标识的访问权限 . 私钥,并在应用程序的web.config中使用证书的序列号或指纹 . 其中一个关键挑战是在服务器场中编写对应用程序池标识的私钥访问 . (来源:http://tinyurl.com/cbsmpqk)

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

It says Failed to decrypt using provider 'CustomProvider' -> Keyset does not exist.

在上面的博客之后,我能够通过将已安装证书的权限更改为“已验证用户”或“用户”的其他读取权限来解决此问题 .

在这两种情况下它都可以正常工作,但我不了解安全隐患 . 这是否意味着现在任何来自互联网的人都能够阅读我的证书的指纹?我错误地打开了安全漏洞吗?

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

非常感谢

2 回答

  • 0

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

  • 0

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

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

相关问题