【问题标题】:How to generate KeyPair in IOS and Android using Cordova?如何使用 Cordova 在 IOS 和 Android 中生成 KeyPair?
【发布时间】:2016-06-28 11:10:25
【问题描述】:

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

  1. 在设备上生成密钥对。
  2. 生成 Json Web 密钥 (JWK)。
  3. 使用私钥对数据进行签名/散列。以下是 .net/Java 中的参考(我希望在 cordova 中使用)

signature = RSA256SignData(ASCIIBytes(待签名数据), rsaPrivateKey)

编码签名 = Base64Encode(签名)

我找不到任何可以处理这个问题的 cordova 插件。如果没有科尔多瓦插件,如果有人能告诉我分块或任何本地的东西,我会很高兴。

谢谢。

【问题讨论】:

    标签: android ios angularjs cordova ionic-framework


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-07-12
      • 2017-03-25
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      相关资源
      最近更新 更多