0

有很多文章在讨论这个错误以及如何解决它。我假设它是针对不同类型的连接问题的半捕获所有错误报告。这是我的场景,我希望有人可以帮助我找出问题所在。我对此有些陌生。

我有一个使用 XMediusFax 的传真服务器。我使用他们的 API 与服务器通信以发送传真并检查传真的状态。我的 DLL 都在我的机器上正确注册,并且我在受信任的根证书颁发机构部分下设置了证书。

如果我在标准 VBS 脚本中调用我的代码,它可以 100% 正常工作。如果我将代码移动到我的 ASP 网站,它会给我一个错误:无法为 SSL/TLS 安全通道建立信任关系。我打开 IIS 7,进入我的站点,进入身份验证,选择匿名身份验证选项,并将其从默认值 IUSR 更改为我的域登录。这样做之后,它在我的网站上效果很好。

修改匿名身份验证不是我想要推广给客户的解决方案。有没有人可以尝试一种不那么蛮力的方法?我确实尝试将我的应用程序池身份设置为我的域帐户,但这并没有解决问题。

4

1 回答 1

0

我认为您的问题可能是由于您的应用程序和 XMediusFAX 之间的 Web 服务调用是在 IUSR 帐户的上下文中执行的。您添加到受信任证书的 XMediusFAX 证书适用于您的用户帐户,而不适用于 IUSR 帐户。当您将 IUSR 替换为您的帐户时,它会起作用,因为它会获取您的受信任证书列表。

根据您的需要,可能有一些解决方案可供您使用。例如:

  • 您可以设置一个本地帐户(在 IIS 服务器上),选择它作为匿名用户身份,使用该帐户登录并将 XMediusFAX 证书添加到该帐户的受信任证书
  • 您可以让您的 XMediusFAX 证书由受信任的机构签署
  • 您可以在您的应用程序中实现回调来决定如何处理 XMediusFAX 服务器提出的证书

最后一个选项对您来说可能是一个不错的选择。我不知道您的应用程序的详细信息,但我建议您查看 RemoteCertificateValidationCallback 以定义一种方法来覆盖默认证书验证。事实上,如果您并不真正关心验证服务器的身份,您可以简单地让您的回调返回 true 而不进行任何验证。

希望这可以帮助。

于 2012-03-13T02:16:15.197 回答