PhoneGap使用自签名证书调用HTTPS服务器失败

时间:2012-01-23 19:11:26

标签: ajax post ssl https cordova

我对phonegap比较陌生,我最近在我的windows apache服务器上设置了HTTPS / SSL,并带有自签名证书,我正在尝试发一个HTTPS ajax post请求。在浏览器中运行时请求正常,但在phonegap中运行时失败。我尝试将android:debuggable设置为false,但这并没有解决问题。我也做了一些研究,似乎phonegap确实支持HTTPS ajax请求,所以我很困惑为什么请求失败。

有谁知道为什么会这样?

2 个答案:

答案 0 :(得分:8)

这是Joe Bowser的一句话,他编写了允许在PhoneGap Android上自签名证书的代码:

  
      
  1. 如果您正在进行开发:清单中的android:debuggable =“true”,您应该允许浏览器从服务器请求数据   使用自签名或错误的SSL证书
  2.   
  3. 如果你要发布一个应用程序,你应该删除android:debuggable =“true”(Android Market不允许你发布   这无论如何)你将无法将数据发送到服务器   一个糟糕的SSL证书
  4.   
  5. 如果您没有设置此标志,则默认值为默认值,即您无法将数据发送到   具有自签名证书的服务器
  6.   

所以看起来你应该能够通过设置android:debuggable =“true”来做你想做的事。如果这对您不起作用,我们需要从您那里获得复制方案,PhoneGap的版本以及您正在使用的Android版本。

可能最好为我们在Jira中提出一个错误:

https://issues.apache.org/jira/browse/CB#selectedTab=com.atlassian.jira.plugin.system.project%3Aissues-panel

答案 1 :(得分:1)

我在这个问题上花了好几个小时,直到我发现有quick and dirty fix可能。它涉及覆盖CordovaWebViewClient以忽略证书错误。