温馨提示×

Linux下OpenSSL怎么生成密钥

小樊
48
2026-08-13 21:14:09
栏目: 云计算

在 Linux 下使用 OpenSSL 生成密钥,常见场景包括 RSA / ECC 私钥、公钥、自签名证书 等。下面按常用情况给你示例说明。


一、生成 RSA 密钥(最常用)

1️⃣ 生成 RSA 私钥(2048 位)

openssl genrsa -out rsa_private.key 2048

生成的是 PEM 格式私钥,内容以:

-----BEGIN PRIVATE KEY-----

2️⃣ 从私钥导出公钥

openssl rsa -in rsa_private.key -pubout -out rsa_public.key

二、生成更安全的 RSA 私钥(AES 加密)

openssl genrsa -aes256 -out rsa_private_enc.key 2048

会提示输入密码,私钥被加密存储。


三、生成 ECC(椭圆曲线)密钥(推荐)

1️⃣ 生成 ECC 私钥(prime256v1)

openssl ecparam -genkey -name prime256v1 -noout -out ecc_private.key

2️⃣ 导出 ECC 公钥

openssl ec -in ecc_private.key -pubout -out ecc_public.key

ECC 更安全、密钥更短、性能更好


四、生成自签名证书(含私钥)

常用于 HTTPS、测试环境。

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

会交互式询问:

  • Country Name
  • Common Name(域名或 IP)

✅ 一键生成 私钥 + 自签名证书


五、生成证书签名请求(CSR)

用于向 CA 申请证书:

openssl req -new -newkey rsa:2048 -keyout key.pem -out req.csr

六、查看密钥信息

查看私钥信息

openssl rsa -in rsa_private.key -text -noout

查看公钥

openssl rsa -pubin -in rsa_public.key -text -noout

七、常见格式说明

格式 说明
.key 私钥
.pem Base64 编码的证书/密钥
.crt 证书
.csr 证书请求

八、推荐组合(现代安全)

生产环境推荐

openssl ecparam -genkey -name prime256v1 -noout -out private.key
openssl req -new -x509 -key private.key -out cert.pem -days 365

如果你有具体用途(如 SSH、HTTPS、JWT、HTTPS 双向认证、Docker、Nginx),可以告诉我,我可以直接给你一套完整命令 ✅

0