2016-07-25 11 views
0

我正在开发PhoneGap应用程序,它通过AJAX调用使用Web服务。服务使用自签名SSL证书在HTTPS上运行。我尝试编辑以不同的方式​​3210,使用cordova-plugin-whitelist v1.2.1Phonegap应用程序通过使用自签名证书的HTTPS提供CORS请求

访问起源= “*”

允许意图HREF = “HTTP:// */*”
allow-intent href =“https:// */*”
allow-navigation href =“http:// */*”
allow-navigation href =“https:// */*”

经过一番挖掘,我发现在PhoneGap应用程序中使用自签名证书可能导致SSL错误,当应用程序正在运行时不会显示,导致无法执行AJAX调用(尽管在Android上,令人惊讶的是,一切正常,iOS和WP8/10设备上存在问题)。我阅读了关于在应用程序源代码中覆盖“onSSLError”过程,并且这样做使我的应用程序可以工作,但我必须将该应用程序上传到商店,这意味着我无法使用此解决方法。另一方面,我试图逃避颁发授权SSL证书的必要性,因为它的成本。我决定在安装实际应用程序之前,在测试设备上手动安装证书。我这样做了,但它没有帮助 - 应用程序仍然没有网络连接,并且不能使用远程服务。

所以我的问题是,有没有人试过用PhoneGap应用程序使用手动安装的自签名证书,并且确实有效?

+0

它也没有为我工作。 –

+0

您可以通过letsencrypt免费获得您拥有的域名的有效证书:https://letsencrypt.org/getting-started/ – Tom

回答

0

经过24小时的探索,我终于确信iPhone和WindowsPhone设备即使在安装应用程序之前安装了它们也会拒绝自签名证书。只有Android允许使用未经验证的证书与HTTPS AJAX进行通话。
所以答案是:如果您正在构建PhoneGap应用程序并希望通过AJAX保护HTTPS连接,请使用CA证书。

相关问题