UbuntuOpenSSL如何管理密钥
Ubuntu系统中OpenSSL密钥管理的实际操作指南一 安装与准备检查是否已安装:运行命令查看版本号命令:openssl version未安装时更新并安装命令:sudo apt-get update && sudo apt-get install -y openssl建议将私钥存放在受控目录并设置
Ubuntu系统中OpenSSL密钥管理的实际操作指南

一 安装与准备
- 检查是否已安装:运行命令查看版本号
- 命令:
openssl version
- 命令:
- 未安装时更新并安装
- 命令:
sudo apt-get update && sudo apt-get install -y openssl
- 命令:
- 建议将私钥存放在受控目录并设置最小权限,例如:
/etc/ssl/private/(root 拥有,权限 600)。
二 生成与导出密钥
- 生成受口令保护的 RSA 私钥(推荐)
- 命令:
openssl genpkey -algorithm RSA -out private.key -aes256
- 命令:
- 生成不加密私钥(便于自动化,但安全性依赖文件系统权限)
- 命令:
openssl genrsa -out private.key 2048
- 命令:
- 从私钥导出公钥
- 命令:
openssl rsa -pubout -in private.key -out public.key
- 命令:
- 生成证书签名请求 CSR(用于向 CA 申请证书)
- 命令:
openssl req -new -key private.key -out server.csr
- 命令:
- 一步生成自签名证书(测试/内部服务可用)
- 命令:
openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes
- 命令:
- 生成 ECC 私钥(椭圆曲线,强度高、体积小)
- 命令:
openssl ecparam -genkey -name prime256v1 -out ec.key - 导出公钥:
openssl ec -in ec.key -pubout -out ec.pub
- 命令:
- 补充:从现有私钥直接生成 CSR
- 命令:
openssl req -new -key private.key -out server.csr。
- 命令:
三 查看与校验密钥
- 查看并校验 RSA 私钥
- 命令:
openssl rsa -in private.key -check -noout - 详细信息:
openssl rsa -in private.key -text -noout
- 命令:
- 查看公钥信息
- 命令:
openssl rsa -pubin -in public.key -text -noout
- 命令:
- 查看证书中的公钥
- 命令:
openssl x509 -in server.crt -pubkey -noout
- 命令:
- 校验私钥与公钥是否匹配(比较模数)
- 命令:
openssl rsa -noout -modulus -in private.key | openssl md5 - 命令:
openssl rsa -pubout -noout -modulus -in private.key | openssl md5
- 命令:
- 其他算法(DSA/EC)可用对应子命令:
openssl dsa ...、openssl ec ...。
四 转换与打包
- 私钥格式转换:传统 PEM 转 PKCS#8(通用、便于程序导入)
- 命令:
openssl pkey -in private.key -out private_pkcs8.pem -outform PEM
- 命令:
- 证书编码转换:PEM ↔ DER
- PEM→DER:
openssl x509 -in server.crt -out server.der -outform DER - DER→PEM:
openssl x509 -in server.der -inform DER -out server.crt -outform PEM
- PEM→DER:
- 打包为 PKCS#12(.p12/.pfx,常用于浏览器/客户端导入)
- 导出:
openssl pkcs12 -export -in server.crt -inkey private.key -out keystore.p12 -name mycert - 从 .p12 分别导出证书和私钥:
- 仅证书:
openssl pkcs12 -in keystore.p12 -out cert_only.pem -clcerts -nokeys - 仅私钥:
openssl pkcs12 -in keystore.p12 -out key_only.pem -nocerts -nodes
- 仅证书:
- 导出:
- 自签名与 CSR 也可一步生成(便于测试)
- 命令:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes。
- 命令:
五、安全与运维的最佳实践
- 权限与存储
- 私钥权限设为 600,属主 root;将私钥放入受控目录(如 /etc/ssl/private/),避免纳入代码仓库与备份的明文分发。
- 算法与参数
- 优先使用 RSA-3072/4096 或 ECC(prime256v1/secp384r1);散列用 SHA-256 及以上;避免使用过时算法(如 MD5/SHA-1)。
- 口令与轮换
- 为私钥设置强口令并妥善备份;定期轮换密钥与证书,撤销旧证书并及时更新信任链。
- 信任与验证
- 部署时同时分发并正确配置中间证书链;使用
openssl verify -CAfile ca_bundle.crt server.crt验证证书链有效性。
- 部署时同时分发并正确配置中间证书链;使用
- 审计与备份
- 记录密钥生成、使用与销毁操作;对备份的私钥实施离线、加密与分地保管,定期演练恢复流程。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















