2014-07-16 132 views
0

我正在使用Winforms客户端连接到IIS中托管的WCF服务。 Winforms应用程序将供客户下载并安装在他们的电脑上。客户必须使用他们的用户名/密码登录到应用程序。我想要在客户端应用程序和WCF之间启用安全的HTTPS通信。提供这种功能的最佳做法是什么?我应该使用客户端证书还是仅使用服务器证书?任何输入都非常感谢。 谢谢。服务器证书与客户端证书

回答

1

你必须有一个服务器证书。

如果您想要更强大的身份验证,您可以使用客户端证书。有一个管理证书的开销和可能的其他费用,但是:使用来自提供者的证书,自己生成它们,维护撤销列表等等。

+0

感谢您的回复。如果我选择使用客户端证书,应该事先在客户的计算机上安装它们,或者我们可以在安装应用程序时安装证书吗?我们是否也需要为每个客户提供多个证书? – Vj87

+0

这可能有点复杂。基本答案是你不能,因为他们需要有相应的私钥。同时,如果您可以运行自己的CA并在应用程序拳头开始时(或在安装过程中)生成它们并进行一些身份检查(例如,用户递交了一个秘密字符串,并且他们必须拨打特定的号码并以某种方式验证他们的身份,或通过短信向他们发送另一个秘密等等)。它可能会变得复杂。另一种选择是检查已建立的CA,看看他们是否有任何工具来帮助你处理这个用例。 – ziya

0

由于您已经使用密码对用户进行了身份验证,因此无需客户端证书身份验证。为确保通信安全,请使用自签名服务器证书。如果客户需要验证他们连接到正确的服务器,那么您需要从第三方CA那里获得签名证书,比如verisign,这可能会花费您至少100美元。