如何使用Cordova在IOS和Android中生成KeyPair?

时间:2016-06-28 11:10:25

标签: android ios angularjs cordova ionic-framework

我正在使用angularjs1和ionic1为IOS和Android创建一个银行应用程序。由于客户的一些安全问题,设备应使用SHA / RSA生成公钥和私钥。我不想使用任何javascript插件,严格拒绝客户端。我挖掘了很多,OpenSSLLetsEncrypt是我所知道的唯一选择。 两个网站都讨论了在操作系统上生成手动命令提示符密钥。我想要一种机制,我可以:

  1. 在设备上生成密钥对。
  2. 生成Json Web Key(JWK)。
  3. 使用私钥对数据进行签名/哈希处理。以下是.net / Java中的参考资料(我希望在cordova中使用)
  4. signature = RSA256SignData(ASCIIBytes(要签名的数据),rsaPrivateKey)

    编码签名= Base64Encode(签名)

    我无法找到任何可以处理此问题的cordova插件。如果没有cordova插件,我会很高兴,如果有人能告诉我这些片段或本地的任何东西。

    感谢。

1 个答案:

答案 0 :(得分:0)

我不知道可以完成这些任务的Cordova插件。

有一些优秀的javascript库可以提供这些功能。看看node-jose,它允许您使用JWK,JWE和JWS。该库依赖于node-forge的稍微改动的版本,它几乎可以做任何事情,包括生成密钥对和签名/散列数据。

使用这些库的唯一缺点是速度可能不足以支持您需要的移动设备。我个人的经验是,移动设备完全能够使用1024位密钥对。使用2048位有点慢,并且在大多数设备上生成2048位对只需要太长时间。