rsaGenerateKey()
function rsaGenerateKey(modulusLength?): Promise<{
privateKey: string;
publicKey: string;
}>;
Defined in: packages/utils/src/crypto/rsaGenerateKey.ts:55
生成 RSA 密钥对
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
modulusLength | number | 2048 | 模数长度,默认 2048,可选值:1024、2048、4096 |
Returns
Promise<{
privateKey: string;
publicKey: string;
}>
包含公钥和私钥 PEM 格式字符串的对象
Throws
当环境缺少 Web Crypto API 或密钥生成失败时抛出错误
Example
const keyPair = await rsaGenerateKey(2048);
console.log(keyPair.publicKey); // PEM 格式的公钥
console.log(keyPair.privateKey); // PEM 格式的私钥
**注意:** 使用 Web Crypto API 生成 RSA-OAEP 密钥对
**注意:** 使用 SHA-256 哈希算法
**注意:** 公钥指数固定为 65537 (0x010001)
**注意:** 生成的密钥可用于加密和解密操作
**注意:** PEM 正文按 RFC 7468 折成 64 列
**破坏性变更(UTL-026):** 私钥标签由 `RSA PRIVATE KEY`(PKCS#1)改为
`PRIVATE KEY`(PKCS#8),与 `exportKey('pkcs8')` 的正文一致;DER 内容不变,
只有文本标签与折行变了。已落盘 / 已分发的旧 PEM 无需重新生成,本包的
`rsaDecrypt` / `rsaEncrypt` 剥标签导入,新旧文本都能读。