JWK 生成与解析器

生成 RSA、EC(P-256/P-384/P-521/secp256k1)与 OKP(Ed25519/Ed448/X25519/X448)的 JSON Web Key,或解析已有 JWK 以查看参数、指纹与元信息

关键信息

分类
安全与校验
输入类型
select, text, checkbox, textarea
输出类型
html
样本覆盖
4
支持 API
Yes

概览

本工具是一个多功能的 JWK(JSON Web Key)生成与解析器,支持快速生成 RSA、EC(P-256/P-384/P-521/secp256k1)以及 OKP(Ed25519/Ed448/X25519/X448)格式的密钥对,同时支持解析已有的 JWK 字符串,以便快速查看其内部参数、指纹和元数据信息。

适用场景

  • 在配置 OAuth 2.0 或 OIDC 服务时,需要生成符合标准的 JWK 密钥集(JWKS)。
  • 需要将现有的 JWK 字符串反序列化,以检查其算法、曲线类型、密钥 ID (kid) 或公钥参数。
  • 在开发 JWT 签名与验签功能时,需要快速获取特定曲线(如 Ed25519 或 P-256)的测试密钥。

工作原理

  • 选择操作模式为“生成”或“解析”。
  • 若选择生成,需指定密钥类型(RSA、EC 或 OKP)、对应的密钥长度或曲线,并可选择性输入密钥 ID (kid) 以及是否仅输出公钥。
  • 若选择解析,需在输入框中粘贴已有的 JWK JSON 字符串。
  • 点击执行后,系统将即时输出生成的 JWK 密钥数据,或展示解析后的详细密钥参数与指纹信息。

使用场景

为 API 网关或身份认证服务配置 JWKS 端点所需的公钥和私钥对。
调试 JWT 签名验证失败问题时,解析当前的 JWK 以核对 kid 和算法是否匹配。
在物联网或移动端安全通信中,生成轻量级的 Ed25519 或 secp256k1 格式密钥。

用户案例

1. 生成 OIDC 签名所需的 RS256 密钥

安全工程师
背景原因
正在搭建一个内部的 OIDC 认证服务,需要配置一个 RSA 2048 位的 JWK 用于对 JWT 进行签名。
解决问题
需要快速生成一个带有特定密钥 ID (kid) 的 RSA 密钥对,并获取其公钥和私钥的 JWK 格式。
如何使用
选择模式为“生成”,密钥类型选择“RSA”,密钥长度选择“2048 位”,在密钥 ID 中输入 `auth-key-v1`,不勾选“仅公钥”,点击生成。
示例配置
mode=generate, keyType=rsa, keySize=2048, keyId=auth-key-v1, publicOnly=false
效果
成功获得包含私钥参数(d, p, q 等)和公钥参数(n, e)的完整 JWK JSON 数据,可直接用于认证服务的密钥配置。

2. 解析并验证第三方 JWK 公钥

后端开发人员
背景原因
对接第三方 API 时,对方提供了一个 JWK 格式的公钥,但开发人员需要确认该密钥的曲线类型和指纹。
解决问题
无法直观读取 JWK 字符串中的加密参数和曲线类型。
如何使用
将模式切换为“解析”,在“待解析 JWK”输入框中粘贴对方提供的 JWK JSON 字符串,点击解析。
示例配置
mode=parse, jwkInput={"kty":"EC","crv":"P-256","x":"f83OJ3D2xF1Bg8vub9tM1gmp_M95vRP2F6w_cCC7gcg","y":"x_da6tSxVT9scbKgg_t12No_OFM5QCL5jaeUtl821GP"}
效果
页面清晰展示出该密钥为 EC 类型,使用 P-256 曲线,并列出了其公钥坐标参数,便于开发人员进行配置校验。

用 Samples 测试

json, image

相关专题

常见问题

这个工具支持哪些非对称加密算法?

支持 RSA(2048/3072/4096 位)、EC(P-256/P-384/P-521/secp256k1)以及 OKP(Ed25519/Ed448/X25519/X448)。

什么是 JWK 中的 "kid" 参数?

"kid" 是密钥 ID(Key ID),用于在密钥集(JWKS)中唯一标识某个特定的密钥,方便接收方匹配正确的验签密钥。

如何只获取公钥而不包含私钥参数?

在生成模式下,勾选“仅公钥”选项,生成的 JWK 将只包含公钥参数(如 RSA 的 n 和 e,或 EC 的 x 和 y)。

解析模式可以识别哪些信息?

解析模式可以读取您输入的 JWK JSON,提取并直观展示其密钥类型(kty)、曲线(crv)、密钥 ID(kid)以及其他具体的数学参数。

生成的密钥安全吗?

所有密钥均在您的浏览器本地安全生成,不会被上传或存储到任何服务器,确保您的私钥安全。

API 文档

请求端点

POST /zh/api/tools/jwk-generator

请求参数

参数名 类型 必填 描述
mode select -
keyType select -
keySize select -
curve select -
keyId text -
publicOnly checkbox -
jwkInput textarea -

响应格式

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-jwk-generator": {
      "name": "jwk-generator",
      "description": "生成 RSA、EC(P-256/P-384/P-521/secp256k1)与 OKP(Ed25519/Ed448/X25519/X448)的 JSON Web Key,或解析已有 JWK 以查看参数、指纹与元信息",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=jwk-generator",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]