0

我有一个 Windows 服务,它由一个 Windows 窗体程序通过 WCF 控制。目前没有启用安全性,以便大家可以嗅探windows服务和windows窗体程序之间的通信。

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

所以我的问题是:

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

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

4

2 回答 2

1

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

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

在客户端计算机中,您应该已安装: - 带有公钥的服务证书(受信任) - 带有公钥和私钥的客户端证书(个人) - 带有公钥的自签名证书(受信任的机构)

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

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

于 2013-06-12T16:56:20.893 回答
0

你有没有想过使用 X509 证书???

看到这个链接

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

希望这可以帮助

巴兹

于 2013-06-12T14:31:23.757 回答