仅在服务器端使用证书

Using certificate only on server side

我正在开发一些 WCF 应用程序。我已经有客户端和服务器端。两者都使用 WCF netTcpBinding 或 netNamedPipe 进行通信。我还想要一个仅在服务器端的证书,类似于 HTTPS。我在这里 click.

找到了非常有用的指南

所以根据这篇文章,我对选项 1 感兴趣,即

Option one provides (C + I) no authentication will happen for the client, In this case the TCP SSL (not the HTTPS SSL) will be used to provide the Confidentiality and Integrity, and the service will be configured like this below.

现在一切对我来说都很清楚,不幸的是稍后我们可以阅读:

also you need to install the root certificate authority certificate for the service certificate on the client machine (typically in the Local Machine/Trusted Root Certification Authorities), and the service needs to have the below behaviour to specify the certificate for the service.

所以我的问题来了,有什么办法可以避免在客户端机器上发生变化吗?如前所述,我正在寻找一种类似于 WEB 的解决方案,其中用户没有义务在他的机器上安装任何类型的证书。

也许我遗漏了什么,但也许这条规则仅在我使用 self-trusted/developer 证书时适用?如果我将从 Verisign 等受信任的公司获得证书怎么办?

使用GoDaddy等受信任的CA颁发的证书时,无需安装任何东西

在客户端安装证书只是为了保证服务器端的服务是可信的并且我的通信是安全的。就像访问一个网站一样,我们在浏览网站之前通常都会为该网站内置一个证书,所以浏览器会提示该网站是可信的。与自签名证书不同,网站证书是由受信任的第三方机构颁发给特定主机(Web服务器)的,因此我们在客户端只需安装权威的受信任的第三方证书即可访问网站。但是我们在本地CA中配置自签名证书时,直接在客户端安装服务器证书。
事实上,Browsers/OS已经内置了一些权威的第三方证书。比如GlobalSign,VeriSign,所以我们只需要从他们那里购买证书并在服务器端配置它们,在这种情况下,客户端总是信任服务器。 除了安装服务端证书,我们可能还需要在客户端配置服务端身份,通常是证书的public键,或者主机名。如果我们生成客户端代理并通过添加服务引用来调用服务,这些配置将自动生成。
如果有什么我可以帮忙的,请随时告诉我。