【问题标题】:Android and HTTPS安卓和 HTTPS
【发布时间】:2012-10-20 21:17:01
【问题描述】:

我们最近为我们的 Android 应用使用的网络服务应用了一个证书。

我已将 Web 服务的路径更改为 HTTPS,并且一切正常。不抛出异常。

下面是我用来 POST 到网络服务的代码:

HttpParams httpParameters = new BasicHttpParams();
// CONNECTION TIMEOUT
int timeoutConnection = 15000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
// SOCKET TIMEOUT
int timeoutSocket = 30000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpPost httpPost = new HttpPost(getWebServiceAddress() + actionName);
httpPost.addHeader("Content-Type", "application/json; charset=utf-8");  
httpPost.addHeader("Accept-Encoding", "gzip");
httpPost.addHeader("User-Agent", "gzip");
httpPost.setEntity(new StringEntity(jsonBody, "UTF-8"));
HttpResponse response = null;
response = httpClient.execute(httpPost);

我的问题是:在不更改 Android 代码的情况下,我从应用程序传出的通信是否也安全?我是否必须对与 HTTPS 相关的代码进行任何更改才能强制加密?

【问题讨论】:

    标签: android https


    【解决方案1】:

    在服务器上使用 WireShark,我能够追踪从我的应用发送到服务器的数据包。

    数据包用于通过 TLS 协议进行的加密传入连接。因此,我的传出数据是安全的,无需其他 Android 配置。

    【讨论】:

      【解决方案2】:
      • 我从应用程序传出的通信也安全吗?

      如果你使用套接字,应该使用SSLSocket 并在上面加上SslCertificate。 使用HttpURLConnection 只需将实例更改为HttpsURLConnection

      -我是否必须对与 HTTPS 相关的代码进行任何更改才能强制加密?

      如果你想发送外发消息然后-是,否则-否

      【讨论】:

      • 我将代码添加到问题中。您认为必须做出任何改变吗?
      • 为传出消息添加 https 注册方案。如何在此处描述:stackoverflow.com/questions/7714993/… 代码更改是必要的。
      猜你喜欢
      • 2011-12-11
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多