如何在节点js中创建一个关键对象?

How to create a Key Object in node js?

最近几天我一直在尝试解密 node.js 中的 RSA base64 字符串。 但是大多数模块的文档都很少,或者我遗漏了一些东西。 问题是私钥受密码保护,因此要使用 crypto.privateDecrypt(private_key, buffer) 需要将密钥作为对象插入。

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中定义。

由于node js不是我的原生框架,有没有好心人告诉我这个对象是如何创建的?我已经有了所需的 PEM 字符串和密码。

提前致谢。

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

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