Node.js内置encryption:RSA解密

我正在使用node.js 0.10.12。 我生成了2048位的RSA密钥对,我在本地存储为.pem文件。

使用节点附带的内置“encryption”库,我试图解密用上面提到的公共RSA密钥encryption的数据块。

我已经得到了这么多:

var privateKey = fs.readFileSync('private.pem', { encoding: 'utf8' }); var cryptOpt = { key: /* PEM encoded private key */ privKey }; var cred = crypto.createCredentials( cryptOpt ); var rsa = crypto.createDecipheriv( 'rsa', cred.?key-in-binary-format?, cred.?initialization vector? ); 

我不知道我在这里正确的道路上。

•我不知道密钥在“cred”中以二进制forms存储在哪里。

•我不知道要在初始化向量参数中放置什么。

数据将使用iOS上的标准库进行encryption,据我所知,在使用RSA进行encryption时,不允许用户指定初始化向量。

我一直无法从node.jsencryption文档中提取许多知识或理解: http : //nodejs.org/api/crypto.html

由于nodejs中没有任何不对称的encryption ,所以我觉得你或多或less都在树林里迷路了。 如果你想用RSAencryption任何东西,你将需要另一个库。 crypto.createCipher(algorithm, password)crypto.createCipheriv(algorithm, key, iv)openssl list-cipher-algorithms文档仅列出了对称algorithm,如AES和DES(等)。 一般来说,IV只用于对称algorithm。 nodejs似乎只支持RSA签名和validation。

我真的build议在继续发展的道路上深入探讨这个问题。