C#:连接到服务器时,如何检查客户端是否正在使用官方应用程序?

C#:连接到服务器时,如何检查客户端是否正在使用官方应用程序?,c#,ssl,C#,Ssl,我有一个tcp客户机/服务器。将客户端连接到服务器时,客户端的IP地址会写入服务器上的日志。 因此,只有受信任的客户机才能向服务器发送ip地址,这一点很重要。如何验证这一点 我在internet上查找示例,发现了ssl证书,但在所有示例中,可以通过从代码中删除一行来禁用证书检查。这是不安全的。您不能信任用户正在使用的应用程序,您只能信任用户正在使用正确的应用程序。如果它听起来像鸭子,看起来像鸭子,飞起来像鸭子,你怎么知道它不是鸭子?“检查可能被禁用”-此检查应该在你的服务器上完成。如何从客户端禁

我有一个tcp客户机/服务器。将客户端连接到服务器时,客户端的IP地址会写入服务器上的日志。 因此,只有受信任的客户机才能向服务器发送ip地址,这一点很重要。如何验证这一点


我在internet上查找示例,发现了ssl证书,但在所有示例中,可以通过从代码中删除一行来禁用证书检查。这是不安全的。

您不能信任用户正在使用的应用程序,您只能信任用户正在使用正确的应用程序。如果它听起来像鸭子,看起来像鸭子,飞起来像鸭子,你怎么知道它不是鸭子?“检查可能被禁用”-此检查应该在你的服务器上完成。如何从客户端禁用它?@AleksAndreev如果有人编写的客户端应用程序与服务器的通信方式与官方应用程序完全相同,服务器就没有机会知道它不是官方应用程序。看到我的鸭子了吗example@SirRufo我的意思是:客户端可以使用
X509Certificate
对其消息进行签名。然后在服务器上就可以验证message@AleksAndreev这个证书可以被任何客户机使用,因为任何需要签名的东西都必须在客户机上,所以它可以在不控制谁在使用它的情况下使用