2016-06-28 46 views
0

我使用angularjs1和ionic1爲iOS和Android創建了一個銀行應用程序。由於客戶端的一些安全問題,設備應該使用SHA/RSA生成公鑰和私鑰。我不想使用任何JavaScript插件,嚴格拒絕客戶端。據我所知,我挖了很多,OpenSSLLetsEncrypt是唯一的選擇。 這兩個網站都討論操作系統上的手動命令提示符密鑰生成。我想要一個機制,我可以:如何使用Cordova在IOS和Android中生成KeyPair?

  1. 在設備上生成密鑰對。
  2. 生成Json Web密鑰(JWK)。
  3. 使用私鑰簽署/散列數據。下面是.NET參考/ Java的(我想這在科爾多瓦)

簽名= RSA256SignData(ASCIIBytes(待簽名數據),rsaPrivateKey)

編碼的簽名= Base64Encode(簽名)

我找不到任何可以解決這個問題的科爾多瓦插件。如果沒有科爾多瓦插件,我會很高興,如果任何人都可以告訴我這樣做的碎片或任何本地的東西。

謝謝。

回答

0

我不知道可以完成這些任務的Cordova插件。

有一些優秀的JavaScript庫提供這些功能。看看node-jose,它允許你使用JWK,JWE和JWS。該庫取決於(稍微改變的版本)node-forge,它幾乎可以做任何事情,包括生成密鑰對和簽名/散列數據。

使用這些庫的唯一缺點是速度可能不足以滿足您需要支持的移動設備。我個人的經驗是,移動設備完全可以使用1024位密鑰對。使用2048位有點慢,在大多數設備上生成2048位的對只需要很長的時間。

相關問題