0

ksoap2用来访问网络服务。production在使用 https 协议更改测试 web 服务之前,一切都很好。

我知道这个问题在这里被问了几次,在stackoverflow上,但没有一个答案对我有用。当我将 ksoap2 与 https 一起使用时,出现此错误(异常):

不受信任的服务器证书

有人在这里提供并回答(解决方案):Android ksoap2 via https,但我不明白如何实现该解决方案(或者建议的解决方案对我不起作用)

WS使用的证书是自发的ssl证书——我只在一家小公司内部使用该应用程序,但公司系统管理员需要加密连接。

有人可以为这个问题提供更好的解释吗?

谢谢你。

4

1 回答 1

1

我有一个类似的问题。基本上,当使用带有 https 协议的 Http 相关类时,Android 将检查其安装的证书(我相信这些证书存储在 os 密钥库中)。

因为您的证书是自签名的,所以该证书不受信任。我将自签名证书添加到我的应用程序以进行测试(alexander.egger 在如何在 Android 设备上安装受信任的 CA 证书?)。也许您可以使用这种方法?我猜 Vedran 在Android ksoap2 上通过 https的方法做了类似的事情,也应该可以工作。该答案的哪一部分不清楚?

但是,我不认为这些是好的解决方案。

对于我的生产环境,我从所有 Android 设备都信任的签名机构订购了一个(便宜的)ssl 证书并将其安装在服务器上。我不打算在这里做广告,但是大多数商业 ssl 证书都受到所有 android 设备的信任,并且通过一些研究应该很容易找到便宜的证书。我认为这是解决这个问题的最佳方法。如果没有适当的 ssl 证书,除了您的特定应用程序之外,您的服务器将不受全世界的信任,这可能不是一个好的解决方案(如果您扩展到 ios 设备、调用 Web 服务的第三方应用程序等会怎样)。

于 2012-08-19T12:40:34.993 回答