通过创建证书保护WCF服务通信

本文关键字:WCF 服务 通信 保护 证书 创建 | 更新日期: 2023-09-27 18:17:58

我有一个windows服务,这是由一个windows窗体程序通过WCF控制。目前没有启用安全,因此每个人都可以嗅探windows服务和windows窗体程序之间的通信。

现在我想保护通信,所以我必须使用证书。但是我不想为服务提供全局证书,因为服务和监控程序是由客户运行的。

我的问题是:

在安装时在客户端机器上创建自签名证书以用于wcf是一个好的解决方案吗?

有一种方法可以在c#中创建自签名证书吗?我发现的唯一解决方案是使用MakeCert或调用CertEnroll.dll。

通过创建证书保护WCF服务通信

是的,您可以使用MakeCert创建自签名证书。通过在命令参数上传递-r。

问题是应该使用自签名证书来创建客户端证书和服务证书。

你应该在客户端机器上安装:-带有公开密钥的服务证书(受信任)-带有公钥和私钥的客户端证书(个人)-带公钥的自签名证书(受信任机构)

在服务机上:-带有公钥的客户端证书(受信任)-附有公开及私钥的服务证书(个人)-带公钥的自签名证书(受信任机构)

那么您应该配置wcf服务和wcf客户端以启用传输和消息的安全性,并且您还必须指定在哪里找到带有私钥的证书。

您考虑过使用X509证书吗??

查看此链接

如何使用c#创建自签名证书?

希望有帮助

巴兹