【问题标题】:Is possible to acessing a SSL certified page using Phonegap Application?是否可以使用 Phonegap 应用程序访问 SSL 认证页面?
【发布时间】:2014-04-22 11:08:51
【问题描述】:

我知道这是重复的帖子..

我想知道,Android 或 phonegap 应用程序更适合带有 Web 服务的银行应用程序来访问 SSL 认证页面以访问私人详细信息(帐号、帐户详细信息等)?

1.访问 SSL 认证页面(Android Vs Phonegap)的优缺点是什么?

2.什么是安全问题?

3.如何解决这个问题?(实现这个目标的指南)

需要一些有用的文档来消除我的疑虑...在此先感谢

【问题讨论】:

    标签: android ssl cordova phonegap-plugins


    【解决方案1】:

    我尝试为 HTTP SSL POST 请求创建一个自定义 Java 插件以避免 ajax POST,它对我有用。

    Here is my javaClass

    1 创建一个新类,例如“YOUR_CUSTOM_CLASS”

    2 在你的javascript中添加这个

    cordova.exec(function(datas) {
        //CALLBACK SUCCESS
    }, function(error) {
        //ERROR CALLBACK                    
    }, "YOUR_CUSTOM_CLASS", ["Your_Password", "Your_Username"]);
    

    3 在 config.xml 添加这个

    <feature name="YOUR_CUSTOM_CLASS">
        <param name="android-package" value="yourpackage.YOUR_CUSTOM_CLASS" /> </feature>
    

    试试这个,它可能对你有帮助。

    【讨论】:

    • 基本上,使用插件调用来实际发出 Web 服务请求是您唯一真正安全的选择。
    【解决方案2】:

    我最近发布了一个使用 ionic 框架的 cordova 应用程序,它连接到运行 REST 框架的 Django 服务器。因为我们使用的是身份验证令牌,所以 SSL 是必不可少的。

    只需强制我的所有标签使用https:// 而不是http://,就可以让我的cordova 应用程序连接到SSL 服务器没有任何问题。

    老实说,除了易于设置和签名证书的成本之外,没有理由不使用 SSL。

    顺便说一句,为此不需要复杂的 java 插件。 AJAX over https 与标准 XMLHttpRequest 一起开箱即用。

    【讨论】:

    • 如果您想避免中间人攻击,则需要避免中间人攻击,而在银行应用程序上,您应该避免中间人攻击。
    【解决方案3】:

    除非您能找到在 PhoneGap / Cordova 中进行证书固定的方法,否则我建议您不要使用它来制作银行应用程序。在 iOS PhoneGap 应用程序中验证 pin 可能并不难,但在 Android 中,它需要像原生插件这样的东西来完成与 Web 服务的所有通信(基本上是用原生调用填充 xhr/ajax)。

    PhoneGap 应用程序完全能够使用 xhr/ajax 访问 SSL (https) Web 服务,但如果没有证书固定,您将面临中间人攻击的风险。

    对于大多数应用来说,这是可以接受的风险,但对于银行应用来说,这将是非常危险的。

    编辑:自从回答这个问题以来,已经发布了一个使用本地网络处理请求并包括证书固定的插件:https://github.com/wymsee/cordova-HTTP

    【讨论】:

    • @devgeeks 我明白你在说什么。有没有有phonegap和ssl实现的博客或论坛,,,谢谢
    • 我不知道任何具体的博客文章。正如我所说,如果您只是询问通过 SSL/TLS https 连接连接的 PhoneGap 应用程序,那么与任何其他 AJAX/XHR 连接到 https 端点没有什么不同。但是,如果您谈论的是证书固定或客户端证书身份验证,那完全是另一回事了。正如我所说,到目前为止,我必须使用本机 https 连接来填充 $.ajax 以实现客户端证书身份验证和证书固定。虽然问题是Android。我相信在 iOS 上可以通过插件实现。
    • 我已编辑我的评论以包含一个相对较新的插件,该插件允许网络请求使用证书固定。
    【解决方案4】:

    有一个用于iOS和android的证书检查插件https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin

    1.访问 SSL 认证页面(Android Vs Phonegap)的优缺点是什么? 如果你只是访问一个 SSL 认证的页面,从 android 或 phonegap 访问是一样的,你仍然可以得到中间人攻击。

    2.什么是安全问题? 中间人攻击

    3.如何解决这个问题?(实现这个目标的指南) 每次尝试连接服务器时检查证书,在 phonegap 中你可以使用我告诉你的插件,在 android 上你可以本地完成。

    【讨论】:

    • @jcesar.. 感谢您的信息。为了避免中间人的攻击,我们使用 SSL 认证,并做了这个 https://.... 不是吗??
    • 不,使用 SSL 和 https 连接不足以避免中间人攻击,“黑客”可以提供免费 wifi 并安装自签名证书,然后您的应用认为它正在连接到您的服务器,但它正在连接到黑客计算机,他可以看到数据。您必须进行证书固定或检查以查看您要连接的服务器使用的证书是否应该是,直接比较证书或证书指纹
    • Eddy 插件的问题在于它只在您检查证书时检查证书;)然后您必须对服务器进行 second 调用以创建 API要求。足够高级的攻击者可以允许第一个请求通过,同时拦截后续请求等。
    • 你是对的,但我认为它可以很容易地转换为检查证书并在服务器有效时执行获取/发布的插件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多