我们正在使用MobileFirst V7.1开发一个银行移动应用程序。由于它是一个银行移动应用程序,所以安全问题更加重要,敏感数据从移动客户端安全地传输到MobileFirst服务器。因此,数据应该从移动客户端/应用程序端加密,并发送到MobileFirst服务器,而在服务器端,我们必须解密数据并调用后端we服务。根据客户要求,加密逻辑的实现步骤如下:
步骤1:生成对称密钥生成32位随机密钥
步骤2:使用像AES这样的对称算法,用这个密钥加密数据。敏感数据使用上述生成的密钥使用AES算法进行加密
步骤3:使用公钥加密对称密钥,使用非对称算法,如RSA。密钥(在step1中生成的32位随机密钥,用于在step2中加密敏感数据)使用非对称算法RSA公钥进行加密
步骤4:将加密的对称密钥与加密的数据捆绑在一起将加密的敏感数据和加密的随机密钥捆绑在一个对象中,并将其发送到服务器。在worklight服务器端,从step4到step1进行反向解密,得到原始数据
问题是我能够在应用程序端实现从step1到stpe4的加密逻辑,但是当我在MobileFirst HTTP适配器端使用相同的RSA算法java脚本库来解密数据时,我收到许多错误,指出“窗口”是未定义的,“导航器”是未定义的。RSA javascript库由导航器、窗口组成,在mobilefirst适配器javascript文件中,这些导航器或窗口不可用,因此我收到此错误,无法继续操作。有没有人可以帮我解决这个问题,或者帮我在我的MobileFirst应用程序中实现上述step1 to step4中提到的加密逻辑。
非常感谢。
发布于 2016-09-15 07:44:43
检查此较旧的响应表单stackoverflow:
我认为对适配器请求/响应有效负载(在适配器调用中发送和接收的数据)进行加密没有问题。Worklight adapter calls are not encrypted (WL.Client.invokeProcedure)
但是,如果您加密所使用的整个请求(或响应),这将混淆适配器客户端/服务器内部通信协议。
如果您希望在传输层(如HTTP/HTTPS)上提供额外的保护,则可能还需要额外的一层。我将检查在您的情况下,IBM DataPower是否与您正在搜索的内容不同:https://en.wikipedia.org/wiki/IBM_WebSphere_DataPower_SOA_Appliances
应用层:https://en.wikipedia.org/wiki/Application_layer
您还可以在单个适配器端点中的适配器调用中使用适配器混搭技术,以防止不必要的眼睛尝试通过其名称对此调用进行反向工程,并且第一个适配器可以在服务器端解密有效负载并在内部(服务器端内部)发送到所需的适配器。
我希望这能帮到你,
发布于 2016-09-20 23:26:22
你必须编写自己的加密或解密代码,我认为你正在使用第三方库来进行加密/解密,这是基于浏览器的。由于worklight适配器无法识别窗口/导航器。
https://stackoverflow.com/questions/39484169
复制相似问题