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

Any util in jose to convert key from PEM to JWK for Ed25519?

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 输入,用于生成用于签名和验证的密钥。 jose 中是否有实用程序将 PEM 密钥转换为 paseseJwk 中使用的 JWK 或与第 3 方实用程序一起使用?我没有为 nodejs 项目找到一个。

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

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

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

库在其文档中使用的 KeyLike 界面中对此进行了记录。