使用 OpenSSL 生成 RSA 密钥对
1. 生成 RSA 私钥
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048参数说明:
genpkey:生成私钥。-algorithm RSA:指定算法为 RSA。-out private_key.pem:输出私钥到文件private_key.pem。-pkeyopt rsa_keygen_bits:2048:指定密钥长度为 2048 位(推荐至少 2048 位)。
2. 从私钥提取公钥
openssl rsa -in private_key.pem -pubout -out public_key.pem参数说明:
rsa:处理 RSA 密钥。-in private_key.pem:输入私钥文件。-pubout:输出公钥。-out public_key.pem:输出公钥到文件public_key.pem。
3. 验证密钥文件
查看私钥内容:
openssl rsa -in private_key.pem -text -noout查看公钥内容:
openssl rsa -pubin -in public_key.pem -text -noout
4. 其他常用格式
生成 PKCS#8 格式的私钥(默认):
上述genpkey命令已生成 PKCS#8 格式。如需传统 PKCS#1 格式:openssl rsa -in private_key.pem -out private_key_pkcs1.pem生成 DER 格式(二进制):
openssl rsa -in private_key.pem -outform DER -out private_key.der openssl rsa -in private_key.pem -pubout -outform DER -out public_key.der
注意事项
- 密钥长度:2048 位是当前安全标准,更高安全需求可使用 4096 位。
- 文件保护:私钥需严格保密,建议设置文件权限(如
chmod 600 private_key.pem)。 密码保护(可选):生成时添加
-aes256选项加密私钥(需输入密码):openssl genpkey -algorithm RSA -out private_key_encrypted.pem -aes256 -pkeyopt rsa_keygen_bits:2048
示例完整流程
# 生成私钥
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
# 提取公钥
openssl rsa -in private_key.pem -pubout -out public_key.pem
# 设置私钥权限(仅当前用户可读)
chmod 600 private_key.pem执行后得到两个文件:
private_key.pem:PEM 格式的 RSA 私钥。public_key.pem:PEM 格式的 RSA 公钥。
- 上一篇: 通过CPUID、MAC、硬盘序列号生成机器码
- 下一篇: 没有了