最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何使用节点中的加密 ECDH 模块从文件加载 EC 密钥 pem?

网站源码admin34浏览0评论

如何使用节点中的加密 ECDH 模块从文件加载 EC 密钥 pem?

如何使用节点中的加密 ECDH 模块从文件加载 EC 密钥 pem?

当我用加密模块加载 ECDH 私钥时,出现以下错误:

node:internal/crypto/diffiehellman:231
  this[kHandle].setPrivateKey(key);
                ^

RangeError: Private key is not valid for specified curve.
    at ECDH.setPrivateKey (node:internal/crypto/diffiehellman:231:17)
......
  code: 'ERR_CRYPTO_INVALID_KEYTYPE'
}

私钥创建执行

openssl ecparam -name prime256v1 -genkey -noout -out "private_key.pem"

我试过以下方法:

// private_key.pem
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIDuwn+0qX7ZDCOjQPxBNNn9nr/OLWptW+kwlJcb60q4EoAoGCCqGSM49
AwEHoUQDQgAEV8swcnlrvUuuQ1M9iyLiGfSuAkC2xJa6gK3wQyemV3LsiflS5bDw
ce4oSTzRtVfyFElm3jv0pKxMj7uK7/YCMA==
-----END EC PRIVATE KEY-----
// index.js

const ecdh = new crypto.createECDH('prime256v1')
ecdh.setPrivateKey(fs.readFileSync('./private_key.pem'), 'utf8')
回答如下:
发布评论

评论列表(0)

  1. 暂无评论