应用程序如何向服务器验证自己?假设我发布了一个可以连接到我的 Web 服务器的 android 应用程序。
有什么办法可以保证客户使用我制作的应用程序,而不是第三方的应用程序?我认为可以进行逆向工程以获取我的应用程序的源代码(似乎 proguard 并不完全安全),因此第三方可以轻松地使应用程序冒充我的应用程序。
TLS/SSL 是否解决了这个问题,如果可以,如何解决?我可以要求客户端向我的服务器发送来自受信任机构的证书,从而将身份验证的责任交给受信任的机构。但这在实践中如何运作?假设我生成了自签名证书,我将其添加到服务器信任库中。如何安全地将这些分发给应用用户?
也许我在这里遗漏了一些基本的东西,但是任何能指出我正确方向的东西都会有所帮助!