通过带有 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 androidios 应用程序的全部内容。

我们有一个带有方法的服务器: - 授权(登录,通过) 返回 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 应用程序

python MySQLdb:在没有证书的情况下使用ssl

使用带有 SSL 证书的 PHP cURL 时出错

通过带有开发 SSL 证书的 xcode 在设备中推送通知测试

Infinispan 12:带有自签名证书的 CLI