通过带有 SSL 和证书的 Phonegap 连接到 Web 服务器
Posted
技术标签:
【中文标题】通过带有 SSL 和证书的 Phonegap 连接到 Web 服务器【英文标题】:Connect to web server via Phonegap with SSL and Certificate 【发布时间】:2011-12-31 08:11:01 【问题描述】:这就是基于 JS 构建的 Phonegap android 和 ios 应用程序的全部内容。
我们有一个带有方法的服务器: - 授权(登录,通过) 返回 certificate.p12 文件 (PKCS#12)。
服务器也有方法,需要使用该证书进行授权。 Ruby 上的示例如下所示:
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
pkcs12 = OpenSSL::PKCS12.new(File.read('<CERTIFICATE_PATH>'),'')
http.cert = pkcs12.certificate
http.key = pkcs12.key
req = Net::HTTP::Get.new(url.path)
result = http.start |http|
result = http.request(req)
p result.body
但是如何在 JS 上实现呢?如何从Phonegap 对JS 进行方法调用?
我找到的唯一一种解决方案:通过 Java 和 iOS 上的插件,但我不确定它们是否会起作用。如果是,也许有人已经做出来了?
【问题讨论】:
PhoneGap 在浏览器对象中运行,所以只需使用签名证书,它们非常便宜,我敢打赌你可以以不到 20 美元的价格找到一个。 【参考方案1】:我使用 twitter 的 finagle 和 akka 连接到 web 服务。您必须学习 scala 以及如何将 java 与 scala 混合并安装 sbt,如果您有足够的时间来适应学习曲线,这将是一个选择。 Scala 还有一个非常好的 xml 解析 api。
应用程序配置文件将指定您的安全设置。值得探索。
涉及大量研究和编码,但从长远来看是值得的。
【讨论】:
以上是关于通过带有 SSL 和证书的 Phonegap 连接到 Web 服务器的主要内容,如果未能解决你的问题,请参考以下文章
带有 express 的 socket.io 中的 SSL:缺少 PFX 或证书 + 私钥。
使用自签名证书通过 HTTPS 进行 CORS 请求的 Phonegap 应用程序