0

我创建了一个使用基本身份验证(sql 成员资格提供程序)和 https 的简单 WCF Web 服务。尽管我的客户尝试访问它时遇到问题。

我几乎 100% 肯定这与证书不被信任有关,尽管我认为几乎所有的东西都试过了。

该应用程序托管在 IIS 中。当我尝试编辑“默认网站”的绑定并为 https 选择证书时,它只显示我个人存储中的证书。所以我不能从受信任的商店中选择任何证书。

我尝试在 MMC 中从个人添加权限并将其拖回受信任的人或受信任的 CA 存储,尽管它仍然没有出现在 IIS 中。

我的客户端返回的错误是:错误:底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。

我已经在这里尝试了一切来解决这个问题。

他们有什么方法可以从受信任的商店为 IIS 中的 https 设置证书吗?或者,如果这不是问题,有人可以阐明真正的问题吗?

4

1 回答 1

0

几个月前我遇到了这个问题,您的问题可能与我遇到的问题相同。

我的证书来自第 3 方。我将它安装在个人商店中,并提供了证书随附的密码。我设置了我的 web.config、绑定、端点,我可以在 IIS 中看到证书等。一切看起来都很好。无论我尝试什么,我都会收到错误消息:

The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel

最后我发现在 IIS 中运行 ApplicationPool 的进程没有访问证书的权限。使用inetmgr.exe我单击应用程序池,右键单击用于我的网站的应用程序池并选择Advanced Settings。在 Section 下的对话框中Process Model有一个Identity属性。这被设置为ApplicationPoolIdentity,我将其更改为NetworkService认为这应该具有权限。又试了一次,它奏效了。

我希望这有帮助。

于 2013-03-21T22:39:10.503 回答