温馨提示×

linux openssl怎样生成密钥

小樊
45
2026-09-04 16:37:36
栏目: 云计算

在 Linux 下使用 OpenSSL 生成密钥,常见场景包括 RSA、ECDSA、ED25519 等。下面按常见用法说明。


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

1. 生成私钥(2048 位)

openssl genrsa -out rsa_private.key 2048

2. 从私钥生成公钥

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

3. 生成加密的私钥(带密码)

openssl genrsa -aes256 -out rsa_private_enc.key 2048

二、生成 ECDSA 密钥

1. 生成私钥(使用 prime256v1 曲线)

openssl ecparam -genkey -name prime256v1 -out ec_private.key

2. 生成公钥

openssl ec -in ec_private.key -pubout -out ec_public.key

三、生成 ED25519 密钥(现代、推荐)

openssl genpkey -algorithm ed25519 -out ed25519_private.key
openssl pkey -in ed25519_private.key -pubout -out ed25519_public.key

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

如果你只是想生成 HTTPS 自签证书

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

五、查看密钥信息

openssl rsa -in rsa_private.key -text -noout
openssl ec -in ec_private.key -text -noout

六、常见参数说明

参数 说明
-out 输出文件
-pubout 输出公钥
-aes256 使用 AES 加密私钥
-nodes 不加密私钥
-days 证书有效期

如果你有具体用途(如 SSH、HTTPS、JWT、CA、支付宝/微信接口),可以告诉我,我可以给你更精确的命令。

0