跳到主要内容
加解密工具

RSA 密钥格式转换与解析工具

识别 RSA 密钥或证书的实际格式,在 PEM、DER、JWK 之间转换,并用指纹核对是否为同一公钥。

RSA 密钥解析与转换区

自动识别 PEM、RSA JWK 和 Base64 DER;所有密钥内容只在当前浏览器中处理。

不支持加密私钥、OpenSSH、PFX / PKCS#12、EC 或 SM2

JWK 私钥和未加密 PEM 都包含完整私密参数。请勿在不可信设备上粘贴生产私钥,转换完成后及时关闭页面。
支持粘贴 Base64 DER,不需要 PEM 头尾

解析输入后,页面会按公钥或私钥自动限制可选的目标格式。

粘贴 RSA 密钥、JWK 或 X.509 证书后,可以解析或转换

什么时候使用

适合接口或工具要求不同 RSA 容器格式、需要确认一段内容究竟是公钥还是私钥,或要从 X.509 证书中提取 RSA 公钥时使用。本工具只转换表示形式,不执行加解密。

快速使用

  1. 粘贴 PEM、JWK 或 Base64 DER,点击“仅解析”。
  2. 确认识别到的类型、模数长度和指纹,再选择页面允许的目标格式。
  3. 点击“解析并转换”并复制结果;输入 X.509 证书时,证书解析成功不代表证书可信。

工具说明

这个工具用于识别、解析和转换常见 RSA 密钥格式。输入可以是 PEM、RSA JWK,或不带 PEM 头尾的 Base64 DER;输出可以选择 PEM、Base64 DER 或格式化 JWK。

页面可以生成一份新的 2048 位 PKCS#8 PEM 示例私钥。输入解析后会统一生成规范化 SPKI;私钥还会生成规范化 PKCS#8,并通过浏览器 Web Crypto 再次导入校验。

解析和转换全部在当前浏览器中完成,不会上传或保存输入内容。

支持的输入格式

输入内容PEM 标记或结构解析结果
SPKI 公钥BEGIN PUBLIC KEYRSA 公钥
PKCS#1 公钥BEGIN RSA PUBLIC KEYRSA 公钥
PKCS#8 私钥BEGIN PRIVATE KEYRSA 私钥
PKCS#1 私钥BEGIN RSA PRIVATE KEYRSA 私钥
X.509 证书BEGIN CERTIFICATE提取 RSA 公钥和证书元数据
RSA JWKktyRSA按参数判断公钥或私钥
Base64 DER不带 PEM 头尾按 ASN.1 结构自动识别

工具按 DER 的 ASN.1 结构识别无头尾输入,不依赖文件扩展名。RSA 私钥 JWK 必须包含完整的 dpqdpdqqi 参数。

支持的输出格式

公钥输入可以导出:

  • SPKI 公钥:PEM 标记为 BEGIN PUBLIC KEY
  • PKCS#1 公钥:PEM 标记为 BEGIN RSA PUBLIC KEY
  • RSA 公钥 JWK:格式化 JSON,仅保留 ktyne

私钥输入除上述公钥格式外,还可以导出:

  • PKCS#8 私钥:PEM 标记为 BEGIN PRIVATE KEY
  • PKCS#1 私钥:PEM 标记为 BEGIN RSA PRIVATE KEY
  • RSA 私钥 JWK:包含完整 CRT 参数。

ASN.1 密钥可以选择 PEM 或标准 Base64 DER。JWK 固定输出为格式化 JSON。

公钥输入不会出现任何私钥目标格式;私钥输入可以派生并导出对应的公钥格式。

解析信息

所有输入都会展示:

  • 原始输入格式。
  • 公钥或私钥类型。
  • RSA 模数长度。
  • 十进制公钥指数。
  • 规范化 SPKI DER 的 SHA-256 指纹。

规范化 SPKI 指纹只由 RSA 公钥决定。同一把密钥的 SPKI、PKCS#1、PKCS#8、JWK 和证书输入应得到相同指纹,可用于核对格式转换前后是否仍为同一把公钥。

X.509 证书

输入 X.509 证书时,还会展示:

  • Subject 和 Issuer。
  • 序列号。
  • 生效和失效时间。
  • 签名算法。
  • 原始证书 DER 的 SHA-256 指纹。

页面只根据当前设备时间标记证书是否处于有效期内,不校验证书链、根证书信任、吊销状态、Key Usage 或 Extended Key Usage。证书解析成功不等于证书可信。

不支持的格式

  • 加密 PKCS#8 私钥和带 Proc-Type: 4,ENCRYPTED 的传统加密 PEM。
  • OpenSSH 公钥或私钥。
  • PFX / PKCS#12。
  • EC、SM2、DSA、Ed25519 等非 RSA 密钥。
  • 包含 oth 的多素数 RSA JWK。

需要处理加密私钥时,应先在可信环境中使用专门的密钥管理工具解密,再把未加密密钥放入本工具。生产私钥不应在不可信设备上处理。

常见问题

PKCS#1 和 PKCS#8 有什么区别?

PKCS#1 是 RSA 专用结构;PKCS#8 是通用私钥容器,会额外记录密钥算法。公钥侧常用 SPKI 通用结构,PKCS#1 公钥则只保存 RSA 参数。

Base64 DER 为什么没有 PEM 头尾?

PEM 是 DER 字节经过 Base64 编码后再加上类型标记。选择 Base64 DER 时只输出中间的标准 Base64 内容,适合需要自行保存为二进制 DER 的场景。

为什么公钥不能转换成私钥?

RSA 公钥只包含模数和公钥指数,无法从中恢复私钥参数。只有输入本身包含私钥时,页面才会提供私钥输出格式。

私钥 JWK 中的 algusekey_ops 去哪里了?

这些字段描述用途或应用约束,不属于 RSA 数学参数。转换结果只输出规范化的 RSA 密钥参数,避免把输入系统的用途声明误带到另一个系统。

工具会保存私钥吗?

不会。输入、解析信息和输出都只保存在当前页面内存中,刷新或关闭页面后无法恢复。