RSA密钥对校验工具
验证 RSA 公钥与私钥是否属于同一密钥对:分别导入两把密钥并比较模数 n 与公钥指数 e,同时显示模数位数与公钥指数。支持 SPKI/PKCS#1 公钥与 PKCS#8/PKCS#1 私钥,全部在浏览器本地完成。
免费在线工具
Loading…
给这个工具打分
你的评分能帮更多人判断这个工具好不好用
使用说明
- 把公钥粘贴到左侧输入框(支持 SPKI 的 BEGIN PUBLIC KEY 与 PKCS#1 的 BEGIN RSA PUBLIC KEY)。
- 把私钥粘贴到右侧输入框(支持 PKCS#8 的 BEGIN PRIVATE KEY 与 PKCS#1 的 BEGIN RSA PRIVATE KEY)。
- 点击「验证是否匹配」,工具会分别导入两把密钥并比较模数 n 与公钥指数 e。
- 结果会显示「公私钥匹配」或「公私钥不匹配」,并列出公钥模数位数(如 2048 位)与公钥指数 e(通常为 65537)。
- 可用「加载匹配示例」「加载不匹配示例」快速体验两种结果,或点「清空」重新输入。
注意:加密私钥(BEGIN ENCRYPTED PRIVATE KEY)需先解密;非 RSA 密钥会被拒绝;私钥只在当前页面内存中处理。
功能介绍
- 判断依据是两把密钥的公开参数是否完全一致:导入后分别导出 JWK,比较模数 n 与公钥指数 e。
- 公钥支持 SPKI 与 PKCS#1 PEM;私钥支持 PKCS#8 与 PKCS#1 PEM,导入时会校验算法 OID 必须为 RSA。
- 结果同时显示公钥模数位数(如 2048 位)和十进制公钥指数 e,便于确认密钥规格。
- 内置匹配与不匹配两组示例密钥,一键对比两种结果。
- 不发起网络请求,私钥不会上传或保存。
- 当签名验签失败时,可先用它排除“公钥和私钥根本不是一对”的问题。
使用场景
部署后确认证书公钥与私钥配对
上线新证书或密钥时,把证书/公钥与服务器私钥粘贴进来,确认两者确实是一对,避免签名失败。
排查签名验签失败原因
当接口签名总是验证失败时,先确认公钥和私钥是否匹配,再排查算法或消息编码问题。
核对不同工具导出的密钥
从 OpenSSL、Java KeyStore、云平台等不同来源导出的密钥格式各异,可用本工具统一比较公开参数。
教学演示 RSA 公开参数
通过匹配与不匹配示例,直观展示 RSA 公钥的模数与指数,以及公私钥配对的判断方法。
常见问题
工具如何判断公私钥是否匹配?
分别导入公钥和私钥后导出 JWK,比较公开参数模数 n 和公钥指数 e 是否完全相同。两项都一致才判定为匹配,与密钥的 PEM 封装格式无关。
支持哪些密钥格式?
公钥支持 SPKI(BEGIN PUBLIC KEY)与 PKCS#1(BEGIN RSA PUBLIC KEY);私钥支持 PKCS#8(BEGIN PRIVATE KEY)与 PKCS#1(BEGIN RSA PRIVATE KEY)。不支持加密私钥和非 RSA(如 EC)密钥。
结果显示的“公钥模数”和“公钥指数 e”是什么意思?
模数位数表示 RSA 密钥长度,常见为 2048 位或 4096 位;公钥指数 e 以十进制显示,最常见的值是 65537。两者都来自公钥本身。
为什么提示“暂不支持加密私钥”?
BEGIN ENCRYPTED PRIVATE KEY 是带口令加密的 PKCS#8 私钥,浏览器无法直接读取。请先用 OpenSSL 等工具解密并导出未加密的 PKCS#8 私钥后再验证。
私钥会被上传吗?
不会。两把密钥都在浏览器本地导入和比较,工具不进行任何网络请求,也不会把私钥写入存储。
两把密钥格式不同(比如一把 PKCS#1、一把 SPKI)能比较吗?
可以。工具会先把不同封装格式统一解析为公开参数,再比较 n 与 e,因此 SPKI、PKCS#1、PKCS#8 之间可以混合使用。