c# - IIS 7.5 asp.net 应用程序是否可以在 HTTPS 上运行,而不授予 ApplicationPool-Identity 对证书存储的读取权限?

标签 c# asp.net asp.net-mvc ssl iis-7.5

今天,我的托管服务提供商表示可以通过 HTTPS 访问 ASP.NET 应用程序,即使没有为 SSL 证书存储授予应用程序池标识(至少只读)权限。

为了简化某人的研究,我建议看一下 THIS链接

  1. IIS 7.5
  2. 项目使用DefaultApplicationPool
  3. Identity = ApplicationPoolIdentity

问题:托管服务提供商是否在伪造我?或者为了通过 ASP.NET 项目的 HTTPS 协议(protocol)访问网站资源,服务器必须已授予对该项目应用程序池的 ApplicationPoolIdentity 的访问权限?

备注:

不授予对以下内容的额外访问权限:IIS_IUSRS;Users 组、NETWORK SERVICE 和其他。只需保留默认“管理员组”即可。

最佳答案

简短的回答是:不,托管服务提供商没有冒充您。

服务器(IIS)必须有权访问相应SSL证书的私钥才能正确地与客户端建立SSL channel 。据我所知,IIS 服务器默认具有此权限(因为万维网发布服务在本地系统帐户下运行,并且此帐户默认具有访问本地机器存储的权限)。在 IIS 服务器之上,有应用程序池托管您的 asp.net 页面。

但是,如果您的网页出于某种原因需要访问本地机器存储中的证书(即它签署数据或向另一个需要客户端证书的 url 发出 Web 请求),那么应用程序池必须能够访问相应的私钥并且您必须使用 the guide 设置权限你发布的。

关于c# - IIS 7.5 asp.net 应用程序是否可以在 HTTPS 上运行,而不授予 ApplicationPool-Identity 对证书存储的读取权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619600/

相关文章:

c# - 使用 C# 突出显示 TextBox/Label/RichTextBox 中的文本

c# - 使用 EPPLus 自动调整长字符串

c# - 从辅助角色实例化辅助角色

c# - NLog ASP.Net 查看器

c# - 如何链接到一个区域的根目录?

c# - AutoMapper 在 Map 存在时抛出 Missing Map

c# - 错误 : Can't choose dates on a DatePicker that fall outside a floating VSTO Add-In

javascript - 动态插入分页符

javascript - 从 Javascript 访问类方法

asp.net-mvc - 服务层验证