jose 中的任何实用程序可以将密钥从 PEM 转换为 Ed25519 的 JWK?

问题描述

如下生成 Ed25519 PEM 密钥对:

-----BEGIN PRIVATE KEY-----
NC4CAQAwBQYcK2VwBCIEIIWUb0/MoKaBxQkmmPlHIGyPfDQb/U3D6jQ+gMUGtvpa
-----END PRIVATE KEY-----

-----BEGIN PUBLIC KEY-----
NCowBQYDK2VwAyEAWFnlEbTVgD4TilnSzyDmZK16dm1IeQURtHFcLhSwmDo=
-----END PUBLIC KEY-----

jose 3.11.1 中,parseJwk 接受 JWK 输入,用于生成用于签名和验证的密钥。 josePEM 密钥转换为 JWK 中使用的 paseseJwk 或与第 3 方实用程序一起使用是否有实用程序?我没有为 nodejs 项目找到一个

解决方法

要获得 KeyObject,您不需要 JWK 格式的密钥。它适用于节点的 KeyObject 实例。所以你可以轻松做到

const { createPublicKey,createPrivateKey } = require('crypto')

const publicKey = createPublicKey(pemPublicKey)
const privateKey = createPrivateKey(pemPrivateKey)

该库在其文档中使用的 KeyLike 接口中记录了这一点。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...