Java KSoap2到web服务的HTTPS连接
我正在使用KSOAP2调用web服务。起初,我尝试在没有任何安全性(只有HTTP)的情况下使用它,结果是成功的。现在我已经将SSL安全性添加到我的Web服务中(它在ApacheAxis2上运行),但我无法使用KSOAP2从Android应用程序进行连接。我一直在四处搜索,我能得到的唯一答案是那些告诉我应该信任所有不受信任的证书的人(创建一个假的trustmanager): 它们总是粘贴相同的代码:Java KSoap2到web服务的HTTPS连接,java,android,https,axis2,ksoap2,Java,Android,Https,Axis2,Ksoap2,我正在使用KSOAP2调用web服务。起初,我尝试在没有任何安全性(只有HTTP)的情况下使用它,结果是成功的。现在我已经将SSL安全性添加到我的Web服务中(它在ApacheAxis2上运行),但我无法使用KSOAP2从Android应用程序进行连接。我一直在四处搜索,我能得到的唯一答案是那些告诉我应该信任所有不受信任的证书的人(创建一个假的trustmanager): 它们总是粘贴相同的代码: private TrustManager[] trustAllCerts = new Trus
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并添加我的不可信证书,或者只是做一些事情来避免我刚才提到的解决方案。如果可能的话,我不想创建新的trustmanager。如果您正在使用Emulator,请不要将10.0.2.2用于服务器ip。对我来说,它不起作用 尝试在物理设备上测试你的应用程序(通过Wifi)