【问题标题】:KSoap2 HTTPS connection to web serviceKSoap2 HTTPS 连接到 Web 服务
【发布时间】:2013-01-12 00:28:59
【问题描述】:

我正在使用 KSOAP2 调用 Web 服务。起初,我尝试在没有任何安全性(只有 HTTP)的情况下使用它,结果是成功的。现在,我已将 SSL 安全性添加到我的 Web 服务(它在 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 并添加我的不受信任的证书,或者只是做一些事情以避免我刚才谈到的解决方案。如果可能的话,我不想创建一个新的信任管理器。

【问题讨论】:

    标签: java android https axis2 ksoap2


    【解决方案1】:

    如果您使用的是模拟器,请不要使用 10.0.2.2 作为服务器 ip。对我来说,它不起作用。

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

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多