使用xca工具生成自签证书

news2024/11/18 11:51:06

本文使用 xca 生成自签证书。

概述

之前使用 openssl 生成证书,在 golang 中测试,发现客户端连接失败,经查发现是Subject Alternative Name不支持导致的。因虚拟机 openssl 版本较低,有个功能无法实现,且升级麻烦(编译不通过),经搜索,找到 xca 工具生成证书,最终达到目的。文中所述,仅是笔者的使用,不具权威性。

小结

  • 创建各类证书过程大体相类似,只是模板不同。
  • 创建服务端证书时,在证书签名请求(CSR)时,设置Subject Alternative Name为证书使用的服务器IP(可多个)。注:域名待测试。客户端无此限制。
  • 使用相同的CA证书签发服务端/客户端证书。
  • 使用同一个服务端CSR,可以使用不同的参数签发不同的服务端证书,比如,已经签发了IP地址为A的证书,再次使用同一CSR,创建IP地址为B的证书。

下载

工具下载地址:https://github.com/chris2511/xca

双击 xca.exe 运行。

新建数据库

“文件”->“新建数据库”,输入数据库名称,输入2次密码。
在这里插入图片描述

下图创建了 foobar.xdb 数据库并使用之。
在这里插入图片描述

该数据库是用于存储创建、存储的证书信息,可长期使用/复用。数据库可先本地,也可选远程数据。

如果导入CA证书,似乎无法生成基于该CA证书的证书,但用相同的数据库能生成。

CA证书

创建密钥

文中使用默认值。
在这里插入图片描述

注:密钥在后续可复用。

创建CA证书

来源页面:
在这里插入图片描述

注意一定要点击“应用模板所有信息”按钮。

主体页面:
在这里插入图片描述

填充的:

myca
CN               cststudio
Guangxi          cststudio
Cenxi
cststudio

扩展页面

设置有效时间为30年。点击“应用”(注:截图未点击,左侧时间为默认年1年),再点击“OK”创建。
在这里插入图片描述
成功创建CA证书。
在这里插入图片描述

服务端证书

服务端证书的创建过程与CA证书类似, 只是模板不同。

复用密钥

创建证书签名请求

来源,选服务端。
在这里插入图片描述

主体页面
在这里插入图片描述
主体填充

server127
CN               cststudio
Guangxi          127.0.0.1
Cenxi
cststudio

扩展页面
在这里插入图片描述

点击"OK"创建证书。

签发证书

选择服务证书,鼠标右键,点击“签发”。
在这里插入图片描述

来源页面:
在这里插入图片描述

注意选择CA证书。

扩展页面:
在这里插入图片描述
完成签发。
在这里插入图片描述

在签发步骤中,本文最为关注并设置的是Subject Alternative Name字段。

客户端证书

客户端证书的创建过程与CA证书类似, 只是模板不同。

复用密钥

创建证书签名请求

在这里插入图片描述

主体页面:
在这里插入图片描述

主体填充

client127
CN               cststudio
Guangxi          127.0.0.1
Cenxi
cststudio

其它同服务端。

点击"OK"创建证书。

签发证书

选择客户证书,鼠标右键,点击“签发”。过程略。

来源页面:
在这里插入图片描述

注意选择CA证书。

扩展页面:
在这里插入图片描述

点击“OK”完成签发。

在相同的CA证书下的服务端、客户端证书列表:
在这里插入图片描述

(注:文中设置了30年,但结果是1年,因为选择时,没有点击右侧的“应用”,因已截图,暂不改)

导出文件

将密钥、CA证书、服务端证书、客户端证书分别导出为单独的文件。
在这里插入图片描述

在这里插入图片描述

最终得到:

my_ca.crt      证书
client127.crt  客户端证书
server127.crt  服务端证书
创建密钥.pem     密钥  ## 此名称后续修改了

使用笔记

修改内部名称

在这里插入图片描述

设置有效期

可按天、月、年为单位,设置后,点击“应用”才能在左侧“不晚于”看到失效日期。
在这里插入图片描述

证书有效期调整

由于先创建CA证书,设置了有效期50年,接着创建服务端证书,有效期也为50年,因操作有前后,所以服务端证书的结束时间比CA证书晚,选择“自动调整日期并继续”即可。
在这里插入图片描述

同一CA证书可产生不同服务端的证书

使用同一CA证书,可以创建不同服务端证书(因要指定IP),使用同一客户端可正常请求。
在这里插入图片描述
从图中可看到从属关系。

同时包含多个IP地址的服务端证书

IP:127.0.0.1, IP:192.168.28.11, IP:192.168.18.10, IP:192.168.28.1, IP:192.168.9.100, DNS:latelee.cn

创建服务端请求
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

golang 的使用

golang 较新版本,ssl 证书使用Subject Alternative Name,因此需在证书中指定,从文中实验知,可指定单个IP、多个IP。

由于服务端证书指定了服务器的IP地址,证书不在指定的IP服务器运行,则无法请求。即本是服务器A的证书,在服务器B上使用,客户端无法请求B服务。

B服务输出:
http: TLS handshake error from 192.168.28.1:65102: remote error: tls: bad certificate
客户端输出:
send post failed: Post "https://192.168.28.11:9000/testing": x509: certificate is valid for 127.0.0.1, not 192.168.28.11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375481.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP SD模块学习总结2 2023.2.27

https://www.cnblogs.com/jiangzhengjun/p/7264657.html#_Toc410466840 首先是表: VBAK: 销售订单抬头 VBAP: 销售订单项目 VBUK: 抬头状态 VBUP: 行项目状态 VBKD:销售凭证: 业务数据 VBPA: 销售凭证: 合作伙伴 VBEP:销售凭证:…

【论文速递】COLING 2022 - 带有事件论元相关性的事件因果关系抽取

【论文速递】COLING 2022 - 带有事件论元相关性的事件因果关系抽取 【论文原文】:Event Causality Extraction with Event Argument Correlations 【作者信息】:Cui, Shiyao and Sheng, Jiawei and Cong, Xin and Li, Quangang and Liu, Tingwen and S…

Android NDK动态加载SO库

背景对于一个普通的android应用来说,so库的占比通常都是巨高不下的,因为我们无可避免的在开发中遇到各种各样需要用到native的需求,所以so库的动态化可以减少极大的包体积,自从2020腾讯的bugly团队发部关于动态化so的相关文章后&a…

fuse:纠结的page下刷流程之fuse_writepage_in_flight

fuse:纠结的page下刷流程细节之fuse_writepage_in_flightfuse_writepage_in_flight硬爬代码自己理解消化作者本人如是说fuse_writepage_in_flight 先说下这个函数,位于fs/fuse/file.c,这里以4.19内核来分析。因为这个函数里面藏了很多小细节…

华为OD机试模拟题 用 C++ 实现 - 删除指定目录(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明删除指定目录题目输入输出示例一输入输出说明Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为…

Macbook M1 安装PDI(Kettle) 9.3

Macbook M1 安装PDI(Kettle) 9.3 当前 PDI(Kettle)最新版为9.3,依赖Java JDK 11。因为没有专门用于 M1的程序,需要下载并安装x86_64架构的JDK及依赖软件,并 “强制在Intel模式下运行shell” 的方式来实现 Kettle 的正…

骨传导蓝牙耳机排行,盘点几款性能不错的骨传导耳机

随着蓝牙耳机的普及,骨传导耳机也越来越受到欢迎,很多人也都开始在了解并尝试骨传导耳机。相比于其他类型耳机,在舒适度、安全方面有一定优势。尤其是在户外运动时,或者长时间佩戴运动时,使用骨传导耳机可以避免耳朵因…

从“入门”到“专家”,一份3000字完整的性能测试体系的知识分享

随着科技的飞速发展,软件产品广泛应用于各个行业领域,人们对计算机和网络的依赖性越来越大,对新奇事物也越来越感兴趣,成千上万的用户活跃在庞大的网络系统中,这给提供服务的系统带来严重的负荷,"高并…

QT之图形视图框架概述——Graphics View Framework

QT之图形视图框架概述——Graphics View Framework1. 概述2. 核心类3. 事件传递4. Graphics View 坐标系统5. 参考1. 概述 Graphics View Framework是子Qt 4.2引入的,用来取代之前版本中的QCanvas。Graphics View Framework提拱了用于大量2D图形项的管理和交互的能…

Spring Boot 统一功能处理(用户登录权限效验-拦截器、异常处理、数据格式返回)

文章目录1. 统一用户登录权限效验1.1 最初用户登录权限效验1.2 Spring AOP 统一用户登录验证1.3 Spring 拦截器1.4 练习:登录拦截器1.5 拦截器实现原理1.6 统一访问前缀添加2. 统一异常处理3. 统一数据格式返回3.1 统一数据格式返回的实现3.2 ControllerAdvice 源码…

day21_IO

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、File 三、IO流 四、字节输入&输出流 零、 复习昨日 见晨考 一、作业 见答案二、File 2.1 介绍 File,通过一个路径代表文件或者文件夹 …

Panda Farm:首个部署在 Arbitrum 上的轻量化 GameFi 游戏

在2月16日,Bitget平台宣布 Launchpad 重新启动,并推出了重启后的首个项目 Panda Farm(BBO),该 Launchpad 启动后得到了较高的关注。 Panda Farm 是部署在 Arbitrum 上的 GameFi应用,这可能首先意味着 Bitge…

技术干货 | Modelica建模秘籍之状态变量

在很多领域都有“系统”这个概念,它描述的往往是一些复杂关系的总和。假如我们将系统看做一个黑箱,那么,在系统的作用下,外界的输入有时会产生令人意想不到的输出,“蝴蝶效应”就是其中的典型案例。图1 一只南美洲亚马…

RPC编程:RPC框架设计目标

一:前导知识 Http是超文本传输协议,跨平台性非常好。Http可以传输文本,更多的时候传输的是文本,我们也是可以传输二进制的,我们基于Http进行下载的时候,就是走的Http协议。 Tcp协议,处理的时候…

OpenShift 4 - 使用辅助安装器安装单节点 OpenShift

文章目录单节点 OpenShift 和 OpenShift 辅助安装器单节点 OpenShiftOpenShift 辅助安装器使用辅助安装器安装单节点 OpenShift本文使用的安装环境准备环境在宿主机上安装 KVM 环境创建 SSH 证书根据集群配置,用辅助安装器生成 Discovery ISO用 Discovery ISO 启动 …

SpringBoot整合(五)HikariCP、Druid数据库连接池—多数据源配置

在项目中,数据库连接池基本是必不可少的组件。在目前数据库连接池的选型中,主要是 Druid ,为监控而生的数据库连接池。HikariCP ,号称性能最好的数据库连接池。 在Spring Boot 2.X 版本,默认采用 HikariCP 连接池。而…

黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

这篇文章没有什么套路。就是一套自学理论和方向,具体的需要配合网络黑白去学习。毕竟是有网络才会有黑白! 有自学也有培训! 1.打死也不要相信什么分分钟钟教你成为大黑阔的,各种包教包会的教程,就算打不死也不要去购买那些所谓的…

【C语言每日一题】判断字符串旋转结果(附加字符串左旋详解)

【C语言每日一题】—— 判断字符串旋转结果😎😎😎 目录 💡前言🌞: 💛字符串左旋题目💛 💪 解题思路的分享💪 😊题目源码的分享&#x1…

Aspose.Slides for .NET 授权须知

Aspose.Slides是一款用于生成,管理和转换PowerPoint幻灯片的本机API,可以使用多种格式,而不需要Microsoft PowerPoint。并且可在任何平台上操作PowerPoint演示文稿。 Aspose.Slides for .NET是一款.NET PowerPoint管理API,用于读…

资产设备防拆标签安全防护和资产定位解决方案

随着社会经济的发展和高新技术的日新月异,对各方面的安全要求也在不断地提高,以物联网安防、入侵报警和出入口控制、应急系统等为主的安全防范系统日益成为各类文物场所智能化弱电工程不可或缺的组成部分,是重点资产管理场所内加强管理和安全…