news 2026/3/1 4:00:42

Ubuntu 22.04 开发环境 CA 证书签发完整笔记(完整版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 22.04 开发环境 CA 证书签发完整笔记(完整版)

Ubuntu 22.04 开发环境 CA 证书签发完整笔记

开发环境

  • 前端: Vue3+TS+Vite+ESM
  • 后端:NestJS
  • 数据库:MySQL+Redis
  • 虚拟机OS:Ubuntu 22.04 LTS

工作拓扑

开发环境参数(VS Code)

  • 版本: 1.106.3 (Universal)
  • Electron: 37.7.0
  • ElectronBuildId: 12781156
  • Chromium: 138.0.7204.251
  • Node.js: 22.20.0
  • V8: 13.8.258.32-electron.0
  • OS: Darwin arm64 24.6.0

目录介绍

  • CA核心目录:/opt/ca/root/(根CA私钥、证书、签发记录存放)

  • 服务端目录:/opt/ca/server/(服务端私钥、CSR、证书存放)

  • 客户端目录:/opt/ca/server/client/(客户端私钥、CSR、证书存放)

  • 目标:生成根CA证书、NestJS服务端证书、Vue3客户端p12证书,完成验证与本地下载


一、前置准备

1. 检查OpenSSL版本(需1.1.1及以上)

openssl version

解释:Ubuntu 22.04默认已装,无需额外安装;若未装,执行以下命令(离线环境需提前下载deb包):

sudo apt update && sudo apt install openssl -y

2. 创建标准化CA目录结构(权限先行)

创建完整目录并配置安全权限(私钥目录仅root可读,避免泄露):

# 根CA核心目录(私钥严格保护) mkdir -p /opt/ca/root/{private,certs,csr,newcerts} chmod 700 /opt/ca/root/private # 仅root可进入 chown -R root:root /opt/ca/root # 目录归属root # 服务端(NestJS)目录 mkdir -p /opt/ca/server/{private,certs,csr} chmod 700 /opt/ca/server/private chown -R root:root /opt/ca/server # 客户端(Vue3)目录 mkdir -p /opt/ca/server/client/{private,certs,csr} chmod 700 /opt/ca/server/client/private chown -R root:root /opt/ca/server/client # 初始化CA签发必需文件(记录签发信息) touch /opt/ca/root/index.txt # 证书签发索引日志 echo 1000 > /opt/ca/root/serial # 证书序列号起始值(避免重复)

验证:执行以下命令确认目录结构完整:

ls -l /opt/ca/root/

预期输出:包含private/、certs/、csr/、newcerts/、index.txt、serial


二、步骤1:生成根CA私钥与自签证书

1. 生成根CA私钥(AES256加密)

进入根CA目录,生成加密私钥:

# 进入根CA目录 cd /opt/ca/root/ # 生成2048位AES256加密私钥 openssl genrsa -aes256 -out private/ca-root.key.pem 2048 # 权限锁死:仅root可读 chmod 400 private/ca-root.key.pem

交互说明:提示“Enter pass phrase”时,输入根CA密码(如CaRoot@2025!),务必牢记

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 8:32:30

Janus-Pro-1B终极指南:快速构建下一代多模态AI应用

Janus-Pro-1B是DeepSeek推出的革命性多模态模型,以其创新的视觉编码解耦架构重新定义了AI的理解与生成能力边界。这款仅需10亿参数的轻量级模型在图像生成与视觉理解任务上实现了对行业巨头的性能超越,为开发者提供了前所未有的技术接入门槛。 【免费下载…

作者头像 李华
网站建设 2026/2/26 14:29:10

手把手教你用JS正则表达式,轻松实现密码强度分步校验

在构建前端登录或注册功能时,密码强度的校验是保障用户账户安全的第一道防线。JavaScript正则表达式为此提供了高效、灵活的验证手段。本文将结合实际开发场景,探讨如何设计正则表达式来匹配符合常见安全策略的密码。 密码强度校验需要哪些核心规则 一个…

作者头像 李华
网站建设 2026/2/28 23:36:17

SenseVoice终极指南:快速掌握多语言音频理解核心技术

SenseVoice终极指南:快速掌握多语言音频理解核心技术 【免费下载链接】SenseVoice Multilingual Voice Understanding Model 项目地址: https://gitcode.com/gh_mirrors/se/SenseVoice SenseVoice是一个革命性的多语言音频理解基础模型,集成了语音…

作者头像 李华
网站建设 2026/2/28 12:54:23

C++、Qt中打开文件夹获取文件

void Qt_operateping::onOpenFileClicked() {// 打开文件对话框,供用户选择图片文件// getOpenFileName() 函数的四个参数依次是:// 1. 父组件,通常传递当前对象 this// 2. 对话框标题// 3. 初始打开的文件路径(此处是 D 盘根目录…

作者头像 李华
网站建设 2026/2/28 5:34:32

多存储源文件同步终极方案:5分钟搞定跨平台数据一致性

多存储源文件同步终极方案:5分钟搞定跨平台数据一致性 【免费下载链接】zfile 项目地址: https://gitcode.com/gh_mirrors/zfi/zfile 还在为不同存储设备间的文件版本混乱而烦恼吗?当团队成员在本地磁盘、云盘和服务器上同时编辑文档时&#xff…

作者头像 李华
网站建设 2026/2/25 6:14:32

Expo通知功能深度解析:5个实战技巧提升用户体验

Expo通知功能深度解析:5个实战技巧提升用户体验 【免费下载链接】expo An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web. 项目地址: https://gitcode.com/GitHub_Trending/ex/expo Expo作为R…

作者头像 李华