该问题涉及两个领域:一般 SSL 证书和 Phonegap/Cordova 相关功能。
首先让我简要描述一下我们的案例:我们正在创建一个简单的系统,该系统由一个用 Phonegap(客户端)编写的移动应用程序和一个带有 RESTful API 的 HTTP(S) 服务器组成。一些机密数据应该来回传输。客户端也应该使用两条腿的 OAuth 进行身份验证。
系统已关闭,即我们不打算将其扩展到单个桌面应用程序之外,它将被配置一次并连续工作。
然而,由于某些原因,我们不能将这些东西放在一个封闭的网络中以仅使用纯 HTTP。
所以,我想,HTTPS 是唯一的方法。
现在,问题:
Phonegap 的安全指南指出,如果 HTTPS 使用自签名证书而不是 CA 颁发的证书,则使用 HTTPS 毫无意义。
另一方面,克林特哈里斯在他的回答中解释说,如果我们自己分发自签名证书,它们是完全有效的。
另一个问题是,Phonegap 不允许您通过 HTTPS 对 RESTful API 执行此类 AJAX 调用——唯一的方法是启用调试模式或简单地破解它。
这就是为什么我们完全糊涂了。
毕竟,哪种方法 - 1 或 2 - 在我们的封闭系统案例中是有效/适用的,我们如何解决最后一个 (3) 问题?此外,任何额外的解释将不胜感激。