当前位置: 首页 > news >正文

【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅰ—— 生成 CSR

目录

  • 替换拓扑图
    • 证书关系示意图
    • 说明 & 关联博文
  • 1. 默认证书截图
  • 2. 使用certificate-manager生成CSR
    • 2.1 创建存放CSR的目录
    • 2.2 记录PNID和IP
    • 2.3 生成CSR
    • 2.4 验证CSR
  • 参考资料

替换拓扑图

证书关系示意图

默认情况下,VMCA 与 Machine SSL的关系是
在这里插入图片描述
本系列博文要实现的拓扑是
在这里插入图片描述

说明 & 关联博文

因为使用企业 CA 直接签名 Machine SSL 证书替换 vSphere 证书步骤较多且繁琐,为了内容关联性和可读性,关于这个自签名证书系列的博文,博主分为4篇,这是第一篇,剩余4篇会陆续发布。

本篇博文主要描述了如何在 vCenter Server 系统中使用实用工具 certificate-manager 生成自签名证书需要的证书签名请求 CSR。适用的 vSphere 版本为 vSphere 7.0.x 和 vSphere 8.0.x

1.企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅰ—— 生成 CSR
2.企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅱ—— 创建和添加证书模板
3.企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅲ—— 颁发自签名与替换证书
4.企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅳ—— 替换默认证书

1. 默认证书截图

在替换vSphere 默认 Machine SSL证书前,我们通过 vSphere Client 确认该证书的信息。

登录 vSphere Client,Menu > Administration > Certificastes > Certificate Management,找到 Machine SSL Certificate,点击VIEW DETAILS
在这里插入图片描述

2. 使用certificate-manager生成CSR

2.1 创建存放CSR的目录

如果不创建特定目录,在后续步骤指定目录时必须要指定已存在目录,否则程序会报错。

mkdir /root/machine_ssl

2.2 记录PNID和IP

# 获取VC PNID
/usr/lib/vmware-vmafd/bin/vmafd-cli get-pnid --server-name localhost
# 获取IP地址
ip address

在这里插入图片描述

2.3 生成CSR

root@vc7-3 [ ~ ]# mkdir /root/machine_ssl
root@vc7-3 [ ~ ]# /usr/lib/vmware-vmca/bin/certificate-manager_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|                                                                     ||      *** Welcome to the vSphere 8.0 Certificate Manager  ***        ||                                                                     ||                   -- Select Operation --                            ||                                                                     ||      1. Replace Machine SSL certificate with Custom Certificate     ||                                                                     ||      2. Replace VMCA Root certificate with Custom Signing           ||         Certificate and replace all Certificates                    ||                                                                     ||      3. Replace Machine SSL certificate with VMCA Certificate       ||                                                                     ||      4. Regenerate a new VMCA Root Certificate and                  ||         replace all certificates                                    ||                                                                     ||      5. Replace Solution user certificates with                     ||         Custom Certificate                                          ||         NOTE: Solution user certs will be deprecated in a future    ||         release of vCenter. Refer to release notes for more details.||                                                                     ||      6. Replace Solution user certificates with VMCA certificates   ||                                                                     ||      7. Revert last performed operation by re-publishing old        ||         certificates                                                ||                                                                     ||      8. Reset all Certificates                                      ||_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|
Note : Use Ctrl-D to exit.
Option[1 to 8]: 1Please provide valid SSO and VC privileged user credential to perform certificate operations.
Enter username [Administrator@vsphere.local]:   # 以实际的SSO域名为准
Enter password:                                 # 输入密码1. Generate Certificate Signing Request(s) and Key(s) for Machine SSL certificate2. Import custom certificate(s) and key(s) to replace existing Machine SSL certificateOption [1 or 2]: 1                              # 选择1,生成 Machine SSL 证书的证书签名请求和密钥。Please provide a directory location to write the CSR(s) and PrivateKey(s) to:
Output directory path: /root/machine_sslPlease configure certool.cfg with proper values before proceeding to next step.Press Enter key to skip optional parameters or use Default value.Enter proper value for 'Country' [Default value : US] : CNEnter proper value for 'Name' [Default value : CA] :Enter proper value for 'Organization' [Default value : VMware] :Enter proper value for 'OrgUnit' [optional] : GSSEnter proper value for 'State' [Default value : California] : BeijngEnter proper value for 'Locality' [Default value : Palo Alto] : BeijingEnter proper value for 'IPAddress' (Provide comma separated values for multiple IP addresses) [optional] : 192.168.1.3 # 填VC IPEnter proper value for 'Email' [Default value : email@acme.com] : yaoz@vmware.comEnter proper value for 'Hostname' (Provide comma separated values for multiple Hostname entries) [Enter valid Fully Qualified Domain Name(FQDN), For Example : example.domain.com] : vc7-3.yz.local # 填VC PNIDEnter proper value for VMCA 'Name' :vc7-3.yz.local # 填VC PNID
2023-10-17T10:02:18.565Z  Running command: ['/usr/lib/vmware-vmca/bin/certool', '--genkey', '--privkey', '/root/machine_ssl/vmca_issued_key.key', '--pubkey', '/tmp/pubkey.pub']
2023-10-17T10:02:19.544Z  Done running command
2023-10-17T10:02:19.545Z  Running command: ['/usr/lib/vmware-vmca/bin/certool', '--gencsr', '--privkey', '/root/machine_ssl/vmca_issued_key.key', '--pubkey', '/tmp/pubkey.pub', '--config', '/var/tmp/vmware/certool.cfg', '--csrfile', '/root/machine_ssl/vmca_issued_csr.csr']
2023-10-17T10:02:21.126Z  Done running commandCSR generated at: /root/machine_ssl/vmca_issued_csr.csr1. Continue to importing Custom certificate(s) and key(s) for Machine SSL certificate2. Exit certificate-managerOption [1 or 2]: 2                                     # 选择2退出程序。
root@vc7-3 [ ~ ]#

蓝色框是shell命令,红色实线框为必填项,红色虚线框为选填框。

在这里插入图片描述在这里插入图片描述

2.4 验证CSR

cd /root/machine_ssl
ls

在这里插入图片描述

参考资料

  • Custom certificate on the outside, VMware CA (VMCA) on the inside – Replacing vCenter 6.0’s SSL Certificate
  • 博文封面图片来自:https://blog.codavel.com/accepting-self-signed-certificates-in-okhttp3

相关文章:

【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅰ—— 生成 CSR

目录 替换拓扑图证书关系示意图说明 & 关联博文 1. 默认证书截图2. 使用certificate-manager生成CSR2.1 创建存放CSR的目录2.2 记录PNID和IP2.3 生成CSR2.4 验证CSR 参考资料 替换拓扑图 证书关系示意图 默认情况下,VMCA 与 Machine SSL的关系是 本系列博文要…...

TypeScript中extends的用法

介绍 extends 关键字在 TypeScript 中有多种应用,包括泛型约束、继承类、接口继承和条件类型。通过灵活使用 extends,TypeScript 提供了丰富的工具来增强类型安全性,使代码更具表现力和可维护性。 1. 约束接口的继承 extends 关键字也可用于…...

手把手创建属于自己的ASP.NET Croe Web API项目

第一步:创建项目的时候选择ASP.NET Croe Web API 点击下一步,然后配置: 下一步:...

【Javascript】数组的基本操作

目录 声明 字面量形式 构造函数声明 访问数组中的元素 数组的长度 增删改查 增 通过索引添加数据 在数组后面添加数据 在数组前添加数据 删 删除数组中最后一个元素 删除数组中第一个元素 改 查 数组是⼀种列表对象,它的原型中提供了遍历和修改元素的…...

Jupyter Notebook 设置黑色背景主题

Jupyter Notebook 设置黑色背景主题 # 包安装 pip install jupyterthemes -i https://mirrors.aliyun.com/pypi/simple pip install --upgrade jupyterthemes # 查看可用主题 jt -l # monokai暗背景,-f(字体) -fs(字体大小) -cellw(占屏比或宽度) -ofs(输出段的字…...

1 Go的前世今生

概述 Go语言正式发布于2009年11月,由Google主导开发。它是一种针对多处理器系统应用程序的编程语言,被设计成一种系统级语言,具有非常强大和有用的特性。Go语言的程序速度可以与C、C相媲美,同时更加安全,支持并行进程。…...

面试-Redis-缓存击穿

问:什么是缓存击穿 ? 怎么解决 ? 答:缓存击穿的意思是对于设置时间过期的key,当key过期时,恰好有大量对这个key的请求发送过来,此时这些请求发现这个key过期,就会打到数据库加载数据并设置缓存&#xff…...

80个国内可用的Chatgpt网页版(2023.10.21更新)

ChatGPT:革命性的人工智能语言模型 ChatGPT,一款能够与人类进行自然流畅对话的人工智能语言模型,通过大量训练数据和先进算法,展现出卓越的自然语言处理能力。它能理解并回应人类问题,提供准确、连贯且有意义的答案&a…...

Android 10.0 Launcher3定制化之动态时钟图标功能实现

1.概述 在10.0的系统产品rom定制化开发中,在Launcher3中的定制化的一些功能中,对于一些产品要求需要实现动态时钟图标功能,这就需要先绘制时分秒时针表盘,然后 每秒刷新一次时钟图标,时钟需要做到实时更新,做到动态时钟的效果,接下来就来分析这个功能的实现 如图: 2.动…...

HTTPS、SSL/TLS,HTTPS运行过程,RSA加密算法,AES加密算法

1、为什么网站要使用安全证书 我们所处的网络环境是复杂多样的,大致分为两类,一类是可信的网络服务商,比如直接连的电信运营商的网络,网线,4G,5G;另一类是不可信的网络,比如WIFI&am…...

python之Scrapy爬虫案例:豆瓣

运行命令创建项目:scrapy startproject scrapySpider进入项目目录:cd .\scrapySpider\运行命令创建爬虫:scrapy genspider douban movie.douban.com目录结构说明|-- scrapySpider 项目目录 | |-- scrapySpider 项目目录 | | |-- spider…...

2023最新UI酒桌喝酒游戏小程序源码 娱乐小程序源码 带流量主

2023最新UI酒桌喝酒游戏小程序源码 娱乐小程序源码 带流量主 修改增加了广告位,根据文档直接替换,原版本没有广告位 直接上传源码到开发者端即可 通过后改广告代码,然后关闭广告展示提交,通过后打开即可 无广告引流 流量主版…...

AD9371 官方例程HDL详解之JESD204B TX_CLK生成 (二)

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 : AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射: AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 : AD9371 官方…...

Qt扫盲-Qt Concurrent概述

Qt Concurrent概述 一、概述二、Concurrent Map 和 Map- reduce1. 并发 Map2. 并发 Map-Reduce3. 其他API特性1. 使用迭代器而不是Sequence3. 阻塞变量4. 使用成员函数5. 使用函数对象6. 包装接受多个参数的函数 三、Concurrent Filter and Filter-Reduce1. 并发过滤器2. 并发F…...

c语言用json解析库(jansson)检测字符串是否是json格式的数据

C语言检测字符串是否是json格式的数据,可以用jansson库检测,也可以用cjson库来校验。但是若数据格式有问题,jansson可以指出哪里有错误,cjson无法指出。 下面就演示C语言如何使用jansson库检测字符串是否是json格式的数据。 1.下载…...

我再记录一个bug

项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述 提示:这里描述项目中遇到的问题&#xff1…...

AJAX: 对话框大全

AJAX:$.ajax({url: "/admin/cutting/getDataWeek",type: "GET",data:{},dataType:json,success: function (res) {if (res.code 1) {}},error:function (error) {console.log(请求失败);console.log(error);}}); $(.sub).unbind(click).click(funct…...

LeetCode讲解篇之40. 组合总和 II

文章目录 题目描述题解思路题解代码 题目描述 题解思路 按升序排序candidates,然后遍历candidates,目标数减去当前candidates的数,若该结果小于0,因为candidates的元素大于0,所以后续不会再出现让计算结果等于0的情况…...

RK3568平台 GPIO子系统框架

一.gpio 子系统简介 gpio 子系统顾名思义,就是用于初始化 GPIO 并且提供相应的 API 函数,比如设置 GPIO为输入输出,读取 GPIO 的值等。gpio 子系统的主要目的就是方便驱动开发者使用 gpio,驱动 开发者在设备树中添加 gpio 相关信…...

buu第五页 wp

[RootersCTF2019]babyWeb 预期解 一眼就是sql注入,发现过滤了 UNION SLEEP " OR - BENCHMARK盲注没法用了,因为union被过滤,堆叠注入也不考虑,发现报错有回显,尝试报错注入。 尝试: 1||(updatex…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...