← ← 全部工具
EN

🔏 RSA 签名 / 验签

浏览器本地 RSA 数字签名与验签工具,支持 RSASSA-PKCS1-v1_5 和 RSA-PSS 双算法、SHA-256/384/512 哈希、PEM (PKCS#8/SPKI) 与 JWK 密钥格式、JWT 预设 (RS256/PS256)、OpenSSL 等价命令预览,私钥不会由本工具上传

🔒 所有签名和验签运算均在浏览器本地完成(WebCrypto API),私钥、消息和签名不会由本工具上传。

操作模式

消息格式

签名算法

哈希算法

PKCS1-v1_5 和 RSA-PSS 有什么区别?
RSASSA-PKCS1-v1_5 是确定性签名方案——相同输入始终产生相同签名,兼容性最好,对应 JWT 的 RS256/RS384/RS512。RSA-PSS 是概率性签名方案——每次签名包含随机盐值,安全性有严格数学证明,对应 JWT 的 PS256/PS384/PS512。新系统推荐使用 RSA-PSS。
为什么我的 PKCS#1 密钥(BEGIN RSA PRIVATE KEY)无法使用?
WebCrypto API 仅支持导入 PKCS#8 格式的私钥(BEGIN PRIVATE KEY)和 SPKI 格式的公钥(BEGIN PUBLIC KEY)。PKCS#1 是较旧的 RSA 专用格式。请使用 OpenSSL 转换:openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in rsa-key.pem -out private.pem
JWT 预设按钮有什么作用?
JWT(JSON Web Token)使用特定的算法和哈希组合:RS256 = PKCS1-v1_5 + SHA-256,PS256 = RSA-PSS + SHA-256,以此类推。预设按钮会自动配置算法和哈希以匹配指定的 JWT 签名方案,方便直接测试和验证 JWT 签名。
我的私钥安全吗?
所有运算均在浏览器本地完成,使用 WebCrypto API,密钥和消息不会由本工具上传。不过请避免在公用或共享计算机上使用此工具处理真实密钥。如需验证,可打开浏览器开发者工具的 Network 面板,确认没有外部请求。
如何使用 OpenSSL 交叉验证?
每次签名或验签操作都会显示等价的 OpenSSL 命令。将密钥保存为文件、消息保存为文件,然后执行显示的命令即可。例如:1) 保存私钥为 private.pem;2) echo -n "消息" > message.txt;3) 执行显示的 openssl dgst 命令。签名结果应当一致(PKCS1-v1_5)或验证通过(PSS)。

在线 RSA 数字签名与验签工具,浏览器本地处理(WebCrypto API)。支持 RSASSA-PKCS1-v1_5 和 RSA-PSS 双算法,SHA-1/256/384/512 哈希,PEM(PKCS#8/SPKI)和 JWK 双格式密钥输入,智能检测密钥格式(自动识别 PKCS#1 / 加密密钥并提示转换命令)。JWT 预设一键切换(RS256 / RS384 / RS512 / PS256 / PS384 / PS512),OpenSSL 等价命令预览,签名输出支持 Hex / Base64 即时切换。Quick Test 一键生成密钥对→签名→验签全流程测试。私钥和消息不会由本工具上传。