修改“机器密钥”文件夹的权限后 SSL 损坏 - 错误 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL 协议错误

rom*_*n m 4 ssl iis-6 windows-server-2003 x509certificate

我有一个 ASP.NET Web 应用程序在我的 STAGE 服务器(带有 IIS 6 的 Windows 2003 服务器)上运行。

我已经开始在我的应用程序中使用Google Analytics Core Reporting API,它在我的 DEV 机器上运行良好(Windows 7 / IIS 7.5)

当我将代码移到 STAGE 服务器时,我开始收到“系统找不到指定的文件”异常;解决方案是使用应用程序池标识加载用户配置文件,但 IIS 6 没有该功能。

我找到了 IIS 6 的变通方法,即授予 App Pool 帐户读/写权限

C:\Document and Settings\All Users\Application Data\Microsoft\Crypto\RSA\Machine Keys
Run Code Online (Sandbox Code Playgroud)

当我设置权限时,我已将它们应用于所有子实体(通过高级选项);这不仅没有解决错误;但它也断开了与我网站的 SSL 连接。

我明白了Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.;非 SSL url 工作得很好。

我的问题是如何恢复正确的权限C:\Document and Settings\All Users\Application Data\Microsoft\Crypto\RSA\Machine Keys并修复我的 SSL 连接?

任何有关修复我的 SSL 连接的其他建议将不胜感激。

rom*_*n m 5

我放弃了解决这个问题,因为无论如何我都要把应用程序移到不同的服务器上;并且看起来没有任何其他应用程序受到影响。

然后我重新启动了 IIS,然后一切都崩溃了。

IIS 未启动备份;IIS Admin Service不是以“错误 6:句柄无效”开头。

该错误帮助我找到了问题的根源,并找到了对该MachineKeys文件夹的正确权限。

这篇文章向我指出了 MachineKeys 文件夹的默认权限 - KB 278381,它具有正确的权限。

注意:知识库文章指出Everyone应该Special PermissionsThis folder only; 但是 sharepoint-geek 的文章建议将这些权限应用于This folder, subfolders, and files(我做到了)。

一旦权限得到修复,就可以iisreset工作,甚至我的 SSL 问题也得到解决。

希望这可以节省一些人数小时的挫败感。