首页 文章

使用自签名证书通过HTTPS通过CORS请求的Phonegap应用程序

提问于
浏览
1

我正在开发PhoneGap应用程序,它通过AJAX调用消耗Web服务 . 服务使用自签名SSL证书在HTTPS上运行 . 我尝试以不同的方式编辑 config.xml ,使用 cordova-plugin-whitelist v1.2.1

access origin =“*”

allow-intent href =“http:// * / *”allow-intent href =“https:// * / *”allow-navigation href =“http:// * / *”allow-navigation href =“https :// * / *”

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

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

1 回答

  • 2

    经过24小时的探索,我终于确信iPhone和WindowsPhone设备拒绝自签名证书,即使它们是在安装应用程序之前安装的 . 只有Android允许使用未经验证的证书与HTTPS AJAX通信 .
    So the answer is: if you are building PhoneGap application and want to have secured HTTPS connection via AJAX, use CA certificates.

相关问题