Windows和Android应用程序是否需要SSL?

Windows和Android应用程序是否需要SSL?,android,c++,node.js,rest,ssl,Android,C++,Node.js,Rest,Ssl,最近我读了很多关于SSL的文章,但是所有的文章都是关于网页的。假设我想用网页、手机应用程序和C++ Windows应用程序制作一个互联网服务。用户必须有自己的帐户,所以他们需要向服务器发送用户名、密码等数据。作为网页,我希望有Angular应用程序和一些后端技术(例如节点)。Windows和Android应用程序将使用与Angular相同的后端服务器,并通过RESTAPI连接到该服务器。如果我在存储web应用程序(前端和后端)的服务器上安装SSL,则HTTPS请求中发送的所有数据都应该是安全的。

最近我读了很多关于SSL的文章,但是所有的文章都是关于网页的。假设我想用网页、手机应用程序和C++ Windows应用程序制作一个互联网服务。用户必须有自己的帐户,所以他们需要向服务器发送用户名、密码等数据。作为网页,我希望有Angular应用程序和一些后端技术(例如节点)。Windows和Android应用程序将使用与Angular相同的后端服务器,并通过RESTAPI连接到该服务器。如果我在存储web应用程序(前端和后端)的服务器上安装SSL,则HTTPS请求中发送的所有数据都应该是安全的。但安卓应用程序和Windows应用程序(在我的例子中是MFC制作的)发送的数据呢?如果我已经很好地理解了这些文章,互联网浏览器会对发送的数据进行编码,并对接收到的数据进行解码。但我需要自己处理Android和Windows应用程序中的HTTPS连接吗

对于android,如果您要使用自签名证书,您必须说明如何在应用程序上处理该证书。看看这里是怎么解释的。但总的来说,如果您使用的是受信任的证书,就不必担心SSL握手、加密或解密数据

这是我在上面找到的一块

假设您有一个web服务器,该服务器具有由知名CA颁发的证书,您可以使用以下简单代码发出安全请求:


好的,如果我理解的很好,如果我有一个具有SSL/TLS证书的服务器,我就不需要担心通过RESTAPI从windows或android应用程序发送到服务器的数据安全了?事实上,对我来说最重要的是预防MITM攻击或读取用户数据,就像它可以用Wireshark来完成一样。因此,在我的应用程序中,我所需要做的就是通过https通过TLS连接到服务器?只要您的服务器不允许http,您必须确保它不允许,您就可以了。确保将服务器配置为将所有http调用重定向到https。
val url = URL("https://wikipedia.org")
val urlConnection: URLConnection = url.openConnection()
val inputStream: InputStream = urlConnection.getInputStream()
copyInputStreamToOutputStream(inputStream, System.out)