编程技术分享平台

网站首页 > 技术教程 正文

探索OpenSSL加密-Part 06:PKI基础概念

xnh888 2025-03-29 23:39:39 技术教程 48 ℃ 0 评论


Part 06:PKI基础概念


1. PKI基础概念

核心概念:

  • PKI(公钥基础设施)
  • 定义:一套通过公钥加密技术实现身份认证、数据加密和数字签名的系统。
  • 作用:确保网络通信的机密性、完整性和身份可信性。
  • 核心组件
  • 证书颁发机构(CA):负责颁发和管理数字证书的权威实体(如企业根CA、公共CA如Let's Encrypt)。
  • 数字证书:包含公钥、持有者信息、CA签名等数据的电子凭证(格式:X.509)。
  • 证书吊销列表(CRL):记录已撤销证书的列表,供客户端验证证书状态。
  • OCSP(在线证书状态协议):实时查询证书是否被吊销的协议(替代CRL)。
  • 证书层级
  • 根CA:最高信任层,自签名证书(通常离线存储)。
  • 中间CA:由根CA签发,用于隔离风险(如签发服务器/客户端证书)。
  • 终端实体:最终用户或设备的证书(如Web服务器证书)。
  • 证书格式
  • PEM:文本格式,以-----BEGIN CERTIFICATE-----开头(常见扩展名:.pem,.crt, .key)。
  • DER:二进制格式(常见扩展名:.der, .cer)。
  • PFX/P12:包含证书和私钥的加密包(用于Windows/IIS)。

2. 实践操作:生成密钥对

生成RSA私钥:

  • 生成一个AES-256加密的RSA私钥(密码保护):
openssl genpkey -algorithm RSA -out private.key -aes256 -pkeyopt rsa_keygen_bits:2048
  • 参数说明
  • -algorithm RSA:指定RSA算法。
  • -aes256:用AES-256加密私钥文件(需设置密码)。
  • -pkeyopt rsa_keygen_bits:2048:密钥长度2048位(推荐安全长度)。

导出公钥:

  • 从私钥中提取公钥:
openssl rsa -in private.key -pubout -out public.key

查看密钥信息:

  • 查看私钥内容(需输入密码):
openssl pkey -in private.key -text -noout
  • 查看公钥内容:
openssl pkey -pubin -in public.key -text -noout

3. 注意事项

  • 私钥安全
  • 私钥必须加密存储(如使用-aes256)。
  • 避免私钥泄露(泄漏后需立即吊销证书并重新生成密钥)。
  • 文件权限
  • Linux/macOS中设置私钥仅当前用户可读: bash chmod 400 private.key
  • 目录结构
  • 建议为PKI实验创建独立目录(如~/pki-lab),避免文件混乱。

4. 验证是否成功

  • 检查生成的私钥和公钥文件:
ls -l private.key public.key
  • 确认私钥为加密格式:
file private.key  # 应显示 "PEM RSA private key"

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表