【问题标题】:Worklight adapter calls are not encrypted (WL.Client.invokeProcedure)Worklight 适配器调用未加密 (WL.Client.invokeProcedure)
【发布时间】:2014-07-22 19:14:18
【问题描述】:

我正在使用 Worklight 适配器从 Web 服务获取数据。从客户端我正在做

WL.Client.invokeProcedure

服务器端有各自的代码。问题是这个客户端到服务器适配器的通信是通过纯文本进行的,很容易被嗅探。虽然我的网址是 HTTPS 但没用。请帮忙,我确信 IBM worklight 中应该有一种方法可以制作安全的应用程序。

谢谢

【问题讨论】:

    标签: security https ibm-mobilefirst worklight-adapters worklight-security


    【解决方案1】:

    AFAIK worklight 在您的移动应用程序和 wroklight 服务器之间仅提供两个安全选项。 正如您在问题中提到的,Worklight 提供 HTTPS 以确保安全。 您可以在WL.Client.invokeProcedure 中使用compressResponse 压缩数据

    {
      adapter : 'adapter-name',
      procedure : 'procedure-name',
      parameters : [],
      compressResponse : true/false
    }
    

    compressResponse - 可选。请求服务器响应的字符串 以压缩格式发送以减少数据量 在 Worklight Server 和设备之间传输。默认 如果未指定 compressResponse,则 value 为 false。注意:这个 选项适用于 Android、iOS、Windows Phone 8、BlackBerry 10、 移动网络和 Adob​​e AIR。对于移动 Web 应用程序,压缩是 仅当设备浏览器可以解压 GZIP 数据时才支持。如果 有效载荷的大小大于 compress.response.threshold 在服务器上设置的属性,此选项被忽略


    您始终可以使用 javascript AES 库加密/解密、适配器请求/响应。

    您可以使用Stanford Javascript Crypto Library - SCJL 进行简单的加密和解密。我猜 SCJL 是随 Worklight 一起发布的。

    SCJL 使用起来非常简单。你找到下面的代码来加密和解密。

    sjcl.encrypt("password", "data");
    sjcl.decrypt("password", "encrypted-data");
    

    【讨论】:

    • 如何从服务器端解密适配器级别的 SJCL?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多