KSoap2与Web服务的HTTPS连接

时间:2013-01-28 15:55:40

标签: java android https axis2 ksoap2

我正在使用KSOAP2来呼叫Web服务。起初,我试图在没有任何安全性(仅HTTP)的情况下工作,结果是成功的。现在我已经为我的Web服务添加了SSL安全性(它在Apache Axis2上运行),但我无法使用KSOAP2从我的Android应用程序连接。我一直在寻找,我能得到的唯一答案是那些告诉我我应该信任所有不受信任的证书的人(创建一个假的信任管理员):

Not trusted certificate using ksoap2-android

KSOAP 2 Android with HTTPS

他们总是粘贴相同的代码:

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并添加我的不受信任的证书,或者只是做一些事情以避免我刚才谈到的解决方案。如果可能的话,我不想创建一个新的信任管理员。

1 个答案:

答案 0 :(得分:0)

如果您正在使用模拟器,请不要将10.0.2.2用于服务器ip。对我来说它没有用。

尝试在物理设备上测试您的应用(通过Wifi)