什么时候使用
适合接口或工具要求不同 RSA 容器格式、需要确认一段内容究竟是公钥还是私钥,或要从 X.509 证书中提取 RSA 公钥时使用。本工具只转换表示形式,不执行加解密。
快速使用
- 粘贴 PEM、JWK 或 Base64 DER,点击“仅解析”。
- 确认识别到的类型、模数长度和指纹,再选择页面允许的目标格式。
- 点击“解析并转换”并复制结果;输入 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 KEY | RSA 公钥 |
| PKCS#1 公钥 | BEGIN RSA PUBLIC KEY | RSA 公钥 |
| PKCS#8 私钥 | BEGIN PRIVATE KEY | RSA 私钥 |
| PKCS#1 私钥 | BEGIN RSA PRIVATE KEY | RSA 私钥 |
| X.509 证书 | BEGIN CERTIFICATE | 提取 RSA 公钥和证书元数据 |
| RSA JWK | kty 为 RSA | 按参数判断公钥或私钥 |
| Base64 DER | 不带 PEM 头尾 | 按 ASN.1 结构自动识别 |
工具按 DER 的 ASN.1 结构识别无头尾输入,不依赖文件扩展名。RSA 私钥 JWK 必须包含完整的 d、p、q、dp、dq、qi 参数。
支持的输出格式
公钥输入可以导出:
- SPKI 公钥:PEM 标记为
BEGIN PUBLIC KEY。 - PKCS#1 公钥:PEM 标记为
BEGIN RSA PUBLIC KEY。 - RSA 公钥 JWK:格式化 JSON,仅保留
kty、n、e。
私钥输入除上述公钥格式外,还可以导出:
- 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 中的 alg、use 和 key_ops 去哪里了?
这些字段描述用途或应用约束,不属于 RSA 数学参数。转换结果只输出规范化的 RSA 密钥参数,避免把输入系统的用途声明误带到另一个系统。
工具会保存私钥吗?
不会。输入、解析信息和输出都只保存在当前页面内存中,刷新或关闭页面后无法恢复。