"could not establish secure channel for ssl/tls with authority" 嵌套 API
"could not establish secure channel for ssl/tls with authority" on nested APIs
这可能是一个非常简单的问题,但(我认为)解释起来很复杂,请耐心等待。
我们的服务器上有一个 WCF API(用 C# 编写),它附加到第三方 API(如果您愿意,可以说是一种一站式服务)。它们混合使用 OAuth 和证书来确保安全。这个想法是我们不必在我们所有的服务器上放置(第三方)证书/安全性,只需一个。
因此,计划是一台服务器上的应用程序在调用第三方API的这台服务器上调用API。这似乎适用于除一个第三方之外的所有第三方。
如果我在 API 上使用 Visual Studio (2017) 内置 WCF 测试客户端,它工作正常。如果我尝试从另一个应用程序使用我们的 API(通过添加服务引用),即使在同一台服务器上,它也会失败并显示上述消息。
我们的 API 不(还)使用 https。
该计划用于将我们的 API 发布给其他人,因此我们不能与他们共享任何证书/登录信息 - 这是我们 API 的根本原因。
我已经为此做了很多谷歌搜索,所有答案似乎都指向证书必须在调用应用程序上,这似乎打败了我们“捕获所有”的对象 API
我可能没有很好地解释这一点 - 抱歉。也许这个问题可以总结为“我如何阻止将安全性“传递”给调用应用程序?”
似乎罪魁祸首是“我们的”API 运行 所在的应用程序池标识。我改变了它,现在一切都像我期望的那样工作:)
这可能是一个非常简单的问题,但(我认为)解释起来很复杂,请耐心等待。
我们的服务器上有一个 WCF API(用 C# 编写),它附加到第三方 API(如果您愿意,可以说是一种一站式服务)。它们混合使用 OAuth 和证书来确保安全。这个想法是我们不必在我们所有的服务器上放置(第三方)证书/安全性,只需一个。
因此,计划是一台服务器上的应用程序在调用第三方API的这台服务器上调用API。这似乎适用于除一个第三方之外的所有第三方。
如果我在 API 上使用 Visual Studio (2017) 内置 WCF 测试客户端,它工作正常。如果我尝试从另一个应用程序使用我们的 API(通过添加服务引用),即使在同一台服务器上,它也会失败并显示上述消息。
我们的 API 不(还)使用 https。
该计划用于将我们的 API 发布给其他人,因此我们不能与他们共享任何证书/登录信息 - 这是我们 API 的根本原因。
我已经为此做了很多谷歌搜索,所有答案似乎都指向证书必须在调用应用程序上,这似乎打败了我们“捕获所有”的对象 API
我可能没有很好地解释这一点 - 抱歉。也许这个问题可以总结为“我如何阻止将安全性“传递”给调用应用程序?”
似乎罪魁祸首是“我们的”API 运行 所在的应用程序池标识。我改变了它,现在一切都像我期望的那样工作:)