我们最近将证书应用于我们的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相关的代码应用任何更改以强制执行加密?
答案 0 :(得分:0)
如果您使用套接字,请使用SSLSocket
并将SslCertificate
放在上面。
使用HttpURLConnection
只需将实例更改为HttpsURLConnection
- 我是否必须对与HTTPS相关的代码进行任何更改以强制执行加密?
如果要发送外发消息,则发送-yes,否则为-no
答案 1 :(得分:0)
请用正确的信息描述您的问题,以获得正确的答案。检查此链接:
http://www.codeproject.com/Articles/112381/Step-by-Step-Method-to-Access-Webservice-from-Andr
可以帮助您从Android应用程序与Web服务建立安全连接。
答案 2 :(得分:0)
在服务器上使用WireShark,我能够追踪从我的应用程序发送到服务器的数据包。
数据包用于通过TLS协议进行加密的传入连接。因此,我的传出数据是安全的,不需要其他Android配置。