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

注意事项

  1. 密钥长度:2048 位是当前安全标准,更高安全需求可使用 4096 位。
  2. 文件保护:私钥需严格保密,建议设置文件权限(如 chmod 600 private_key.pem)。
  3. 密码保护(可选):生成时添加 -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 公钥。

阅读量: 129 | 标签: 暂无标签

添加新评论