我正在客户端和服务器之间的 Intranet 中配置 WCF 服务。
我已经为带有 TransportWithMessageCredentia 的 wsHttpBinding 设置了它,但没有证书身份验证。
我是否更正了该服务现在使用 ssl/tls 并加密消息?
这是安全的还是我也需要使用证书?
我正在客户端和服务器之间的 Intranet 中配置 WCF 服务。
我已经为带有 TransportWithMessageCredentia 的 wsHttpBinding 设置了它,但没有证书身份验证。
我是否更正了该服务现在使用 ssl/tls 并加密消息?
这是安全的还是我也需要使用证书?
是的,我们应该将证书绑定到特定端口,以确保通信安全。
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
如果有什么我可以帮忙的,请随时告诉我。