首页主机资讯Ubuntu OpenSSL如何管理密钥

Ubuntu OpenSSL如何管理密钥

时间2025-12-19 17:19:04发布访客分类主机资讯浏览1441
导读:Ubuntu 下 OpenSSL 密钥管理实操指南 一 安装与准备 检查是否已安装:运行命令查看版本号 命令:openssl version 未安装时更新并安装 命令:sudo apt-get update &&...

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
  • 打包为 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/4096ECC(prime256v1/secp384r1);散列用 SHA-256 及以上;避免使用过时算法(如 MD5/SHA-1)。
  • 口令与轮换
    • 为私钥设置强口令并妥善备份;定期轮换密钥与证书,撤销旧证书并及时更新信任链。
  • 信任与验证
    • 部署时同时分发并正确配置中间证书链;使用 openssl verify -CAfile ca_bundle.crt server.crt 验证证书链有效性。
  • 审计与备份
    • 记录密钥生成、使用与销毁操作;对备份的私钥实施离线、加密与分地保管,定期演练恢复流程。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu OpenSSL如何管理密钥
本文地址: https://pptw.com/jishu/776423.html
debian系统vsftp如何更新防火墙规则 Ubuntu OpenSSL如何启用TLS

游客 回复需填写必要信息