2016-07-19 50 views
0

我过去几天一直在尝试解密节点中的RSA base64字符串。 但大部分模块记录不完整或者我错过了一些东西。 问题是,私钥是密码保护的,因此要使用crypto.privateDecrypt(private_key,buffer),需要将密钥作为对象插入。如何在节点js中创建一个关键对象?

private_key可以是一个对象或字符串。如果private_key是一个字符串,它将被视为没有密码的密钥,并将使用RSA_PKCS1_OAEP_PADDING。如果private_key是对象,则将其解释为具有密钥的散列对象:

key : <String> - PEM encoded private key 
passphrase : <String> - Optional passphrase for the private key 
padding : An optional padding value, one of the following: 
crypto.constants.RSA_NO_PADDING 
crypto.constants.RSA_PKCS1_PADDING 
crypto.constants.RSA_PKCS1_OAEP_PADDING 

所有填充都在crypto.constants中定义。

由于节点js不是我的本地框架,是否有人告诉我如何创建对象?我已经有了PEM字符串和需要的密码。

在此先感谢。

回答

1

是的NodeJS不是一个真正的框架,更多的是Javascript引擎...
我想你可以在这里使用纯JavaScript:

private_key = { 
    key: 'PEM encoded private key', 
    passphrase: 'Optional passphrase for the private key', 
    padding: crypto.constants.RSA_PKCS1_OAEP_PADDING 
} 
+1

这个工作,还有更多的问题。 “修理灯泡我注意到水槽漏水了。” –

相关问题