2016-05-09 21 views
5

Node.js v6包含一个提供加密功能的模块,包括符号和验证功能。是否可以在Phonegap/Cordova App中生成数字签名?

如果没有办法签署或验证签名也许有办法将Node.js模块移植到Cordova或Phonegap?

基本上我需要的是签署邮件和验证从科尔多瓦应用签名的方式。

https://nodejs.org/dist/latest-v6.x/docs/api/crypto.html#crypto_class_sign

+1

[本文](http://coenraets.org/blog/2014/01/browserify-sample-application-with-backbone-jquery-handlebars-and-cordova/)规定需要核心节点模块(包括' crypto')应该在使用'--browserify'标志时工作。 – daserge

回答

2

我发现我一直在寻找:

http://kjur.github.io/jsrsasign/

这里如何生成,签名和验证密钥的演示: http://kjur.github.io/jsrsasign/sample-ecdsa.html

令人难以置信,这是纯粹的JavaScript。所以要在iOS和Android这两个平台上工作。

我唯一的担心是知道如何安全使用这个密钥生成库。至少我可以生成密钥并使用安全通道发送,之后使用App进行签名/验证。

0

这是不可能执行节点代码科尔多瓦内部应用程序,只有在挂钩,但在JavaScript的一些加密库,这也许可以帮助你

检查cryptojs,或this plugin为cordova

+0

谢谢,这些插件都不支持签名/验证签名。 –

+0

然后,如果您唯一的解决方案是使用节点,您必须创建一个服务器,它可以执行您的功能,并通过您的客户端应用程序通过WS调用它 – Del

1

Android有一个类来签名和验证签名,恰当地命名为Signature。 IOS具有类似的功能。写一个cordova plugin包装这些类。

除了webview提供的一些基本功能外,cordova中的所有内容都是通过使用底层本机平台的插件提供的。因此,可以签署或验证科尔多瓦的签名。但它可能比你愿意做的更努力。

相关问题