与匿名客户端混淆服务和证书

时间:2009-05-27 16:49:31

标签: .net wcf web-services certificate security

我已经设置了一个通过netTcpBinding使用传输安全性的WCF服务。用于服务安全性的证书由我们为开发创建的CA签名。

有人可以解释我的匿名客户端如何在不在本地安装相同CA的情况下连接和与服务通信的工作原理吗?我对证书很新,并且假设必须在本地安装CA才能让客户端能够解密服务中的数据。

服务和客户端都在Windows机器上,客户端是Windows Forms .NET 3.5应用程序。

1 个答案:

答案 0 :(得分:1)

嗯,这个等式有两个部分:

  • 您可以拥有服务器证书,该服务用于向客户验证自己(证明它确实是它声称的服务)
  • 您可以拥有客户需要向服务器证明其身份的客户端证书
你对哪个感兴趣?

通常,如果您有服务器/服务证书,客户端将“知道”服务器的公钥(它可以安装在客户端的证书存储区中,例如通过安装程序或通过下载和安装它),或者它将在创建代理时查询服务器的证书,并将服务器的公钥存储在本地客户端配置文件中以供以后使用。然后,该配置将再次与客户端上的应用程序一起安装。

如果客户端想要针对该服务进行身份验证,则肯定需要在客户端计算机的证书存储上本地安装其客户端证书。

我建议查看WCF Security Guidance - 这是一个很好的资源,他们可以解释如何比我更好地完成某些场景!

在同一个域中的每个人的全Windows环境中,这看起来有点过分 - 为什么不使用内置的Windows提供的凭据?我想,这会容易得多。

马克