欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > 使用 PVE 自签 CA 证书签发新证书

使用 PVE 自签 CA 证书签发新证书

2024/10/24 11:16:08 来源:https://blog.csdn.net/lpwmm/article/details/140591581  浏览:    关键词:使用 PVE 自签 CA 证书签发新证书

前言

PVE 安装时会自动创建一个有效期 10 年的 CA 证书, 我们可以利用这个 CA 证书给虚拟机中的 Web 应用签发新的 TLS 证书用于提供 HTTPS 服务. 下面以 PVE 虚拟机中通过 Docker 跑的一个 雷池 应用为例进行演示.

PVE 证书位置

官方文档: https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_(pmxcfs)#chapter_pmxcfs 下面我们只需要用到这两个文件:

文件说明
/etc/pve/priv/pve-root-ca.keyCA 私钥
/etc/pve/pve-root-ca.pemCA 证书

本地导入 CA 证书

Windows 系统运行 certmgr.msc > Trusted Root Certification Authorities > Certificates > All Tasks > Import 选择 pve-root-ca.pem 完成导入. 这样本地电脑就会信任 PVE 的 CA 证书, 后面用 CA 证书签发的应用证书也会继承信任.
在这里插入图片描述

签发新证书

SSH 到 PVE.

# 在 `subjectAltName` 中定义了两个 DNS 名称, 保证内网和外网两个域名都能识别
openssl req -new -subj "/C=CN/ST=Beijing/L=Beijing/O=Alian/CN=docker.alian.fun" \
-addext "subjectAltName = DNS:docker.lan, DNS:docker.alian.fun" \
-CA /etc/pve/pve-root-ca.pem -CAkey /etc/pve/priv/pve-root-ca.key \
-noenc -newkey rsa:2048 -keyout leichi.key -out leichi.pem# 得到两个文件: 证书私钥 leichi.key 证书本体 leichi.pem # 检查证书信息
openssl x509 -noout -text -in leichi.pem

展开解释 openssl 命令参数含义 openssl req 完整文档

  • -new 创建新的证书申请
  • -subj 定义 Subject 信息
  • -addext 添加额外的 subjectAltName 属性用于定义多个别名 DNS
  • -CA 指定 CA 证书位置
  • -CAkey 指定 CA 私钥位置
  • -noenc 对证书私钥不加密 (老版本 openssl 中用的是 -nodes 已 deprecated)
  • -newkey 创建新的证书私钥, 使用 2048 位长度 RSA 算法
  • -keyout 证书私钥输出的文件名
  • -out 证书本地输出的文件名

使用证书

在雷池管理后台分别粘贴/上传签发好的证书和私钥
在这里插入图片描述
证书信息被成功识别:
在这里插入图片描述
切换控制台证书生效:
在这里插入图片描述
刷新浏览器:
在这里插入图片描述

附: 校验证书和私钥

证书和私钥的模数(modulus)必须完全匹配才算是一对

# 计算证书模数
openssl x509 -noout -modulus -in pve-ssl.pem
# 计算私钥模数
openssl rsa -noout -modulus -in pve-ssl.key

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com