![](/img/trans.png)
[英]Is TransportWithMessageCredential without certificate secure enough for a WCF service?
[英]Secure WCF Service communication by creating certificate
我有一个Windows服务,该服务由Windows窗体程序通过WCF控制。 目前没有启用安全性,因此每个人都可以嗅探Windows服务与Windows窗体程序之间的通信。
现在,我想确保通信的安全,因此我必须使用证书。 但是我不想为该服务提供全局证书,因为该服务和监视程序由客户运行。
所以我的问题是:
在安装时在客户端计算机上创建用于WCF的自签名证书是一个好的解决方案吗?
有没有办法在C#中创建自签名证书? 我发现的唯一解决方案是使用MakeCert或调用CertEnroll.dll。
是的,您可以使用MakeCert创建自签名证书。 通过在命令参数上传递-r。
问题是应该使用自签名证书来创建客户端证书和服务证书。
在客户端计算机上,您应该已安装:-具有公共密钥的服务证书(受信任)-具有公共密钥和私有密钥的客户端证书(个人)-具有公共密钥的自签名证书(受信任的机构)
在服务机中:-具有公共密钥的客户证书(受信任)-具有公共密钥和私有密钥的服务证书(个人)-具有公共密钥的自签名证书(受信任的机构)
然后,您应该配置wcf服务和wcf客户端以启用传输和消息的安全性,并且还必须指定在何处可以找到带有私钥的证书。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.