在服务器端读取JsonStore令牌

时间:2015-04-21 04:45:57

标签: ibm-mobilefirst jsonstore

我浏览了mobilefirst文档,了解到JsonStore的密钥可以在客户端和服务器端读取:http://www-01.ibm.com/support/knowledgecenter/#!/SSHS8R_6.3.0/com.ibm.worklight.dev.doc/devref/c_jsonstore_security.html

我能够在服务器的响应中看到客户端的令牌。我在客户端使用它来加密数据。我也将数据传回服务器进行一些计算。但是,如果没有令牌,我无法解密服务器端的数据。

有没有办法读取发送到服务器端的令牌?
我希望在服务器端使用基于Java的API来实现这一点,尽管JavaScript API也有帮助。

2 个答案:

答案 0 :(得分:1)

  

有没有办法读取发送到服务器端的令牌?

没有。 JSONStore API仅从服务器获取随机令牌,它不会向服务器发送任何令牌。

  

JSONStore第一次使用密码打开集合,   这意味着开发人员想要加密商店内的数据,   JSONStore需要一个随机令牌。该随机令牌可以从获得   客户端或服务器。

这来自文档linked above。随机令牌只是JSONStore用于保护数据的安全算法所需输入的一小部分,它用于加密和解密数据的密钥,并且它本身没用。

您可以使用SecureRandom Java类生成自己的随机数。

顺便说一句,这是一篇解释why secure systems require random numbers的文章。

从客户端获取随机令牌(没有网络呼叫=>更快,您更信任客户端=>可能更不安全,localKeyGen:true)和服务器(网络)之间存在安全权衡call =>慢,你更信任服务器=>可以说更安全,localKeyGen:true)。

答案 1 :(得分:0)

AFAIK,令牌(本地生成或远程生成)仅用于加密和解密存储在设备中的JSONStore集合中的数据。所以我的猜测是,为了能够对数据运行某些操作,在服务器端,您需要先将其解密,然后再将其发送到后端servlet。