在 Linux 下使用 OpenSSL 生成密钥,常见场景包括 RSA / ECC 私钥、公钥、自签名证书 等。下面按常用情况给你示例说明。
openssl genrsa -out rsa_private.key 2048
生成的是 PEM 格式私钥,内容以:
-----BEGIN PRIVATE KEY-----
openssl rsa -in rsa_private.key -pubout -out rsa_public.key
openssl genrsa -aes256 -out rsa_private_enc.key 2048
会提示输入密码,私钥被加密存储。
openssl ecparam -genkey -name prime256v1 -noout -out ecc_private.key
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
会交互式询问:
✅ 一键生成 私钥 + 自签名证书
用于向 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),可以告诉我,我可以直接给你一套完整命令 ✅