0

我正在客户端和服务器之间的 Intranet 中配置 WCF 服务。

我已经为带有 TransportWithMessageCredentia 的 wsHttpBinding 设置了它,但没有证书身份验证。

我是否更正了该服务现在使用 ssl/tls 并加密消息?

这是安全的还是我也需要使用证书?

4

1 回答 1

0

是的,我们应该将证书绑定到特定端口,以确保通信安全。
https://docs.microsoft.com/en-us/windows/win32/http/add-sslcert
如果在 IIS 中托管服务,我们应该将 https 绑定添加到站点绑定模块。
证书用于提供完整性、机密性和身份验证,而 SOAP 消息安全性提供客户端身份验证。
因此,请考虑以下配置。

WSHttpBinding binding = new WSHttpBinding();
            binding.Security.Mode = SecurityMode.TransportWithMessageCredential;
            binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;

服务基址是 https 样式,并使用一对用户名/密码对客户端进行身份验证。
https://docs.microsoft.com/en-us/dotnet/api/system.servicemodel.securitymode?view=netframework-4.8#System_ServiceModel_SecurityMode_TransportWithMessageCredential
如果有什么我可以帮忙的,请随时告诉我。

于 2019-11-14T06:40:30.153 回答