首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为JOSE/NODEJS生成EdDSA 25519密钥对

为JOSE/NODEJS生成EdDSA 25519密钥对
EN

Stack Overflow用户
提问于 2021-03-25 23:33:13
回答 1查看 439关注 0票数 2

以下是我在ubuntu 20.x上使用的命令,用于为JOSE/NODEJS (14.16)应用程序生成EdDSA 25519密钥对:

代码语言:javascript
复制
$ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id-ed25519 -C myemail_address

下面是生成的私钥:

代码语言:javascript
复制
-----BEGIN OPENSSH PRIVATE KEY-----
a3BlbnNzaC1rZXktdjEAAAAABG5vbmVAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACAp92w+fwodL4kaUDrNghdZScdcg54IJOO6tLpG91oeKgAAAJj71Y9w+9WP
cAAAAAtzc2gtZWQyNTUxOQAAACAp92w+awodL4kaUDrNghdZScdcg54IJOO6tLpG91oeKg
AAAEDsEfbdyx4HaM5cL1f2Ag2Knb0NDCIiuIDsm6FwR5NJESn3bD5/Ch0viRpQOs2CF1lJ
c1yDnggk47q0ukb3Wh4qAAAAFGVtY2yhYjIwMTFAZ21haWwuY29tAQ==
-----END OPENSSH PRIVATE KEY-----

私钥有366个字节而不是32个字节。

下面是公钥:

代码语言:javascript
复制
BAAAC3NzaC1lZ1I1NTE5AAAAICn3CD5/Ch0viRpQOs2CF1lJx1yDnggk47q0ukb3Wh4q myemail_address

它有63个字节,不包括电子邮件地址,似乎太长了。

这是为EdDSA 25519生成密钥对的正确方式吗?如果不是,正确的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-26 22:50:03

您也可以使用Node.js (>= 12.0.0)来实现这一点。

代码语言:javascript
复制
const keypair = crypto.generateKeyPairSync(
  'ed25519', 
  {
    privateKeyEncoding: { format: 'pem', type: 'pkcs8' }, 
    publicKeyEncoding: { format: 'pem', type: 'spki' }
  }
)

console.log(keypair.privateKey)
console.log(keypair.publicKey)

为此,有blockingnon-blocking两种应用编程接口。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66802775

复制
相关文章

相似问题

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