浏览器里做 RSA 非对称加解密和签名验签:公钥加密、私钥解密;私钥签名、公钥验签。OAEP 加解密、签名用浏览器原生的 Web Crypto(crypto.subtle),PKCS#1 v1.5 加解密(Web Crypto 不提供)用页面里自己实现的大数运算完成;不加载任何外部库。
Cipher.getInstance("RSA") 的默认填充,很多老系统仍在用)。BEGIN PUBLIC KEY)或 PKCS#1(BEGIN RSA PUBLIC KEY),私钥可导出为 PKCS#8(BEGIN PRIVATE KEY)或 PKCS#1(BEGIN RSA PRIVATE KEY);粘贴这四种 PEM(或不带头尾的 Base64)都能识别,也可以一键转换格式。加解密
签名验签
密钥字节数 − 11(PKCS#1 v1.5)或 密钥字节数 − 2×摘要字节数 − 2(OAEP)。例如 2048 位密钥:PKCS#1 v1.5 为 245 字节,OAEP-SHA-256 为 190 字节。更长的数据应当用 AES 加密内容、再用 RSA 加密 AES 密钥(混合加密);「长文本自动分段」是给对接老系统用的——每段 密钥字节数 长,拼接成一个整体,对端需要同样按块拆开解密。ENCRYPTED PRIVATE KEY),请先用 openssl pkcs8 -in ... -out ... 去掉口令;也不支持 EC / Ed25519 密钥。相关:AES 加解密 · 国密 SM2/SM3/SM4 · CSR 制作 · Base64 编解码 · 证书查看。
支持 OAEP(多种摘要)与 PKCS#1 v1.5 加解密、PKCS1-v1_5 / PSS 签名验签,PKCS#1 / PKCS#8 / SPKI 密钥互转;私钥不上传。
更多 RSA 基础知识:RSA 深度解析:原理、数学基础、编码与安全性