我正在使用KSOAP2调用web服务。一开始,我试着在没有任何安全性(只有HTTP)的情况下工作,结果是成功的。现在我已经为我的网络服务添加了SSL安全(它运行在Apache Axis2上),但是我不能使用KSOAP2从我的Android应用程序进行连接。我一直在四处寻找,我能得到的唯一答案是那些告诉我应该信任所有不受信任的证书的人(创建一个假的信任管理器):
Not trusted certificate using ksoap2-android
它们总是粘贴相同的代码:
private TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};这不是我要找的。这个答案,即使它起作用了,它只是一个变通办法,并没有解决问题,只是避免了它。我想知道的是,是否有一种方法可以修改Android cacerts并添加我的不受信任的证书,或者只是做一些事情来避免我刚刚谈到的解决方案。如果可能的话,我不想创建一个新的信任管理器。
发布于 2013-07-15 16:18:28
如果您正在使用Emulator,请不要使用10.0.2.2作为服务器ip。对我来说,这是行不通的。
尝试在物理设备上测试您的应用程序(通过Wifi)
https://stackoverflow.com/questions/14565908
复制相似问题