在构建 SOAP API 时如何使用 SSL?

Posted

技术标签:

【中文标题】在构建 SOAP API 时如何使用 SSL?【英文标题】:How can I use the SSL while building a SOAP API? 【发布时间】:2021-01-20 03:40:13 【问题描述】:

我目前用 C# 构建了一个简单的 SOAP API。 更具体地说,我只是在创建 WCF 应用程序时使用 Visual Studio 项目的示例,这就是为什么我不提供任何代码,因为它是标准代码。

当客户端发出任何请求时,我如何才能发出需要 SSL 协议的请求?

我已使用此文档制作 API,getting-started-tutorial。

【问题讨论】:

SSL 已替换为 TLS 1.2/1.3。没有标准的 WCF 代码。您必须提供您正在使用的代码。 要创建使用 SSL 的 WCF 应用程序,请使用 IIS 来承载该应用程序。或者,如果您正在创建自承载应用程序,请使用 HttpCfg.exe 工具将 X.509 证书绑定到计算机上的特定端口。端口号作为端点地址指定为 WCF 应用程序的一部分。有关“使用 SSL 配置 IIS 托管的 WCF 服务”的相关信息,请参阅此链接:docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/… 【参考方案1】:

实现安全连接的最简单方法是使用 HTTPS 而不是 HTTP:

Uri address = new Uri("https://example.com");

您可以在此处找到更多详细信息: https://docs.microsoft.com/en-us/dotnet/framework/network-programming/using-secure-sockets-layer

如果 URI 以“https:”开头,则使用 SSL;如果 URI 以 "http:",使用未加密的连接。

WCF 服务与任何其他网络资源一样通常由网络服务器管理和托管。 因此,您的任务将分为两部分:

    WCF 服务的配置 IIS 的配置

在这篇文章中有更好的解释: How to: Configure an IIS-hosted WCF service with SSL

【讨论】:

我的意思是如何使它对请求是强制性的,例如,如果客户端使用 API 中的方法,它必须具有 SSL,我的意思是如何将其放入配置中API 请求必须使用 SSL

以上是关于在构建 SOAP API 时如何使用 SSL?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .Net C# 中绕过 SSL 证书进行 HTTPS SOAP 请求?

如何创建 PHP SOAP 客户端以在 SSL 下调用 WCF Web 服务?

Workday SOAP API:如何进行身份验证

如何将Boondmanager ERP的PHP中的SOAP API与Talend连接起来

如何在 JAVA 中使用 UsernameToken 创建 SOAP API 请求?

使用SSL的Node中的SOAP请求