我正在客户端和服务器之间的intranet中配置WCF服务。
我已经用TransportWithMessageCredentia为wsHttpBinding设置了它,而没有证书身份验证。
服务现在使用ssl/tls并加密消息,我说得对吗?
这安全吗?还是我也需要使用证书?
是的,我们应该将证书绑定到特定的端口,以确保通信安全
https://learn.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://learn.microsoft.com/en-us/dotnet/api/system.servicemodel.securitymode?view=netframework-4.8#System_ServiceModel_SecurityMode_TransportWithMessageCredential
如果有什么我可以帮助的,请随时告诉我。