gpt4 book ai didi

node.js - node-forge 如何从文件中读取私有(private) rsa key

转载 作者:行者123 更新时间:2023-12-02 03:04:52 24 4
gpt4 key购买 nike

此问题与 Issue using RSA encryption in javascript 有关

我有一个 Node 脚本,我试图从文件中读取 PEM RSA 私钥:

const forge = require('node-forge');
const fs = require('fs');
const path = require('path');
let pkey = fs.readFileSync(path.join(__dirname, 'test.key'), 'utf8');
//let pkeyDer = forge.util.decode64(pkey); // since it's not base64 encoded, i suppose don't need to decode
let pkeyAsn1 = forge.asn1.fromDer(pkey);
let privateKey = forge.pki.privateKeyFromAsn1(pkeyAsn1);
test.key文件的格式如下:
-----BEGIN RSA PRIVATE KEY-----
{mumbo jumbo line1}
{mumbo jumbo line2}
...
-----END RSA PRIVATE KEY-----

当我尝试导入文件时,该行在 pkeyAsn1 = forge.asn1.fromDer(pkey); 处失败,给出这个错误:
Too few bytes to read ASN.1 value.
我对文件格式不太了解,有人可以帮助我吗?

我生成的私钥文件使用以下 openssl 命令: openssl rsa -in encrypted_test.key -out test.key我输入了密码来解密这样的 RSA key 。

最佳答案

将 pkey 读取为字节并使用 forge.pki.privateKeyFromPem。

工作代码:

const forge = require('node-forge');
const fs = require('fs');
const path = require('path');
let pkey = fs.readFileSync(path.join(__dirname, 'test.key'));
let privateKey = forge.pki.privateKeyFromPem(pkey);

关于node.js - node-forge 如何从文件中读取私有(private) rsa key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43502196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com