首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用node.js以DER格式生成私有EC私钥对,其中公钥被压缩?

如何使用node.js以DER格式生成私有EC私钥对,其中公钥被压缩?
EN

Stack Overflow用户
提问于 2021-02-26 08:42:42
回答 1查看 700关注 0票数 1

目标:

使用指定的曲线生成私有/公共EC密钥对。

公钥应该在压缩的DER中。

私钥应该在里面。

示例:

私钥Base64:

代码语言:javascript
复制
openssl ecparam -name secp256k1 -genkey -noout -out secp256k1-key.pem
代码语言:javascript
复制
-----BEGIN EC PRIVATE KEY-----
MHQCAQEEILmOaO0KmLm5LhlJZOXbcoqALQ4odJ65HtO3HbIvc2jRoAcGBSuBBAAK
oUQDQgAEvXnfhfL2zg4zzQiJoZAtJ5Qm6NkddYjLUnRCxRY/WUWzuN6xTCUacSth
ftrhK43tQA5hmEpk95gqhknHVKktnQ==
-----END EC PRIVATE KEY-----

公钥Base64:

代码语言:javascript
复制
openssl ec -in secp256k1-key.pem -pubout -outform DER -conv_form compressed | base64
代码语言:javascript
复制
MDYwEAYHKoZIzj0CAQYFK4EEAAoDIgADvXnfhfL2zg4zzQiJoZAtJ5Qm6NkddYjLUnRCxRY/WUU=

我尝试过的东西:

  1. crypto.generateKeyPair:无法以压缩方式导出公钥。没有提到如何导出私钥。
  2. ecdh.generateKeys:无法按要求导出。
  3. npm ec-密钥:不支持公钥压缩导出。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-25 18:18:46

我设法解决了。

  1. 使用ecdh.generateKeys生成密钥,并将公钥导出为压缩的
  2. 使用ASN1.js并为RFC5480和RFC59159创建模式。
  3. 使用创建的ASN1.js模式作为DER生成的密钥进行编码。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66382638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档