JWK 密钥转换器 🔒 完全在您的浏览器中运行——不上传任何数据。

在 PEM 和 JWK(JSON Web Key)格式之间转换 RSA/EC 密钥。

输出
 

关于此工具

JSON Web Key(JWK)是加密密钥的 JSON 表示形式,被 JWT 库、JWKS 端点(/.well-known/jwks.json)以及许多 Web API 使用。PEM 是更早期的、以 Base64 包装的文本格式,大多数加密工具、服务器和证书颁发机构仍在使用。此工具完全在你的浏览器中完成两者之间的转换,使用的正是浏览器已经为 TLS 信任的同一套 WebCrypto 引擎。

先选择转换方向,再选择与你要转换的密钥相匹配的密钥类型(RSA,或椭圆曲线 P-256/P-384)和用途(签名还是加密)——WebCrypto 需要这些信息才能正确解析字节。公钥转换后的 JWK 不含 d 字段;私钥/密钥对 PEM(PKCS#8)会生成包含 n/e/d(RSA)或 x/y/d(EC)的 JWK。仅支持未加密的 PKCS#8 私钥和 SPKI 公钥——较旧的 PKCS#1(RSA PRIVATE KEY)或带密码保护的 PEM 需要先转换为 PKCS#8(例如使用 openssl pkcs8)。

常见问题

什么是 JWKS 端点,为什么我需要它?

JWKS(JSON Web Key Set)端点是一个 URL(通常是 `/.well-known/jwks.json`),身份验证提供方(如 OAuth/OIDC 身份提供方)会在其中以 JWK 格式发布用于签署 JWT 的公钥,以便依赖方获取并使用它们来验证令牌签名。如果你正在搭建自己的令牌颁发方,就需要将签名密钥的公钥部分转换为 JWK 格式发布在那里。

为什么我的转换会出现导入错误?

最常见的原因是密钥类型或用途选择器不匹配——例如为实际上是 RSA 的密钥选择了"EC P-256",或为用于签名生成的密钥选择了"加密"。WebCrypto 会严格根据实际密钥材料校验算法,因此请仔细核对选择器是否与密钥最初创建时的用途一致。