使用xca工具生成自签证书

这篇具有很好参考价值的文章主要介绍了使用xca工具生成自签证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文使用 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次密码。
xca,技术杂铺,服务器,https,网络

下图创建了 foobar.xdb 数据库并使用之。
xca,技术杂铺,服务器,https,网络

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

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

CA证书

创建密钥

文中使用默认值。
xca,技术杂铺,服务器,https,网络

注:密钥在后续可复用。

创建CA证书

来源页面:
xca,技术杂铺,服务器,https,网络

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

主体页面:
xca,技术杂铺,服务器,https,网络

填充的:

myca
CN               cststudio
Guangxi          cststudio
Cenxi
cststudio

扩展页面

设置有效时间为30年。点击“应用”(注:截图未点击,左侧时间为默认年1年),再点击“OK”创建。
xca,技术杂铺,服务器,https,网络
成功创建CA证书。
xca,技术杂铺,服务器,https,网络

服务端证书

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

复用密钥

创建证书签名请求

来源,选服务端。
xca,技术杂铺,服务器,https,网络

主体页面
xca,技术杂铺,服务器,https,网络
主体填充

server127
CN               cststudio
Guangxi          127.0.0.1
Cenxi
cststudio

扩展页面
xca,技术杂铺,服务器,https,网络

点击"OK"创建证书。

签发证书

选择服务证书,鼠标右键,点击“签发”。
xca,技术杂铺,服务器,https,网络

来源页面:
xca,技术杂铺,服务器,https,网络

注意选择CA证书。

扩展页面:
xca,技术杂铺,服务器,https,网络
完成签发。
xca,技术杂铺,服务器,https,网络

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

客户端证书

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

复用密钥

创建证书签名请求

xca,技术杂铺,服务器,https,网络

主体页面:
xca,技术杂铺,服务器,https,网络

主体填充

client127
CN               cststudio
Guangxi          127.0.0.1
Cenxi
cststudio

其它同服务端。

点击"OK"创建证书。

签发证书

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

来源页面:
xca,技术杂铺,服务器,https,网络

注意选择CA证书。

扩展页面:
xca,技术杂铺,服务器,https,网络

点击“OK”完成签发。

在相同的CA证书下的服务端、客户端证书列表:
xca,技术杂铺,服务器,https,网络

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

导出文件

将密钥、CA证书、服务端证书、客户端证书分别导出为单独的文件。
xca,技术杂铺,服务器,https,网络

xca,技术杂铺,服务器,https,网络

最终得到:

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

使用笔记

修改内部名称

xca,技术杂铺,服务器,https,网络

设置有效期

可按天、月、年为单位,设置后,点击“应用”才能在左侧“不晚于”看到失效日期。
xca,技术杂铺,服务器,https,网络

证书有效期调整

由于先创建CA证书,设置了有效期50年,接着创建服务端证书,有效期也为50年,因操作有前后,所以服务端证书的结束时间比CA证书晚,选择“自动调整日期并继续”即可。
xca,技术杂铺,服务器,https,网络

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

使用同一CA证书,可以创建不同服务端证书(因要指定IP),使用同一客户端可正常请求。
xca,技术杂铺,服务器,https,网络
从图中可看到从属关系。

同时包含多个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

创建服务端请求
xca,技术杂铺,服务器,https,网络
xca,技术杂铺,服务器,https,网络
xca,技术杂铺,服务器,https,网络

签发
xca,技术杂铺,服务器,https,网络
xca,技术杂铺,服务器,https,网络

golang 的使用

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

由于服务端证书指定了服务器的IP地址,证书不在指定的IP服务器运行,则无法请求。即本是服务器A的证书,在服务器B上使用,客户端无法请求B服务。文章来源地址https://www.toymoban.com/news/detail-567379.html

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

到了这里,关于使用xca工具生成自签证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 下生成ssl自签证书, 并配置nginx通过https访问

    因为映射了域名,需要升级为https,由于是IP地址访问,所以生成自签名证书并设置nginx 这里服务端和客户端的Organization Name (eg, company)以及Organizational Unit Name都必须要和CA的不一样才可以

    2024年02月11日
    浏览(31)
  • 最新技术整理3款开源免费直播推流工具,实现实时视频推流、视频拉流,目标端可以是服务器、云平台、移动设备等(附源码)

    最新技术整理3款开源免费直播推流工具,实现实时视频推流、视频拉流,目标端可以是服务器、云平台、移动设备等(附源码)。 什么是推流? 视频推流是指将实时的视频数据从一个源端发送到一个或多个目标端的过程。推流的源端可以是摄像头、采集卡等设备,而目标端

    2024年02月04日
    浏览(50)
  • JAVAWeb11-服务器渲染技术 -JSP-03-JSTL(会使用)

    JSTL 标签库 是指 JSP Standard Tag Library :JSP 标准标签库 EL 表达式是为了替换 jsp 中的表达式脚本, JSTL 是为了替换代码脚本。这样 jsp 页面变得更佳简洁 JSTL 由 五个标签库组成 使用 JSTL,需要导入相关的 jar 包 注意细节 ● taglib 引入标签,要放在行首 ● 导入 jstl jar 包后,要重

    2024年02月03日
    浏览(35)
  • ubuntu上使用 SSH 工具连接到远程服务器

    以下内容由ChatGPT生成,仅供学习参考 在 Ubuntu 中,可以使用终端应用程序(也称为“终端”或“命令行”)来连接到远程服务器。以下是如何使用 SSH 工具连接到远程服务器的步骤: 打开终端应用程序。你可以通过按下 Ctrl + Alt + T 键来快速打开终端应用程序,或者在 Ubuntu

    2024年02月15日
    浏览(30)
  • 服务器带宽测试工具:iPerf的安装与使用

    Linux 环境安装及相关使用命令: 一、安装 iperf3 1、 yum 安装 2、其他操作系统可以下载官网的软件包 下载完成后可以通 rpm -ivh 进行安装。 官网地址: https://iperf.fr/iperf-download.php 二、服务端启动命令 1、开启 ipert3 服务器端 2、客户端测速命令 举个例子: Windows 环境安装及相关

    2024年02月07日
    浏览(51)
  • 服务器能效测试工具BenchSEE使用方法简介

    BenchSEE是由中国标准化研究院开发的一款针对 服务器产品能效 测试的基准软件。BenchSEE基准的设计参考了全球众多服务器厂家、芯片厂家、能效认证机构和IT节能领域科研机构的意见,旨在满足服务器市场应用对能效测评的需求。BenchSEE基准负载工具支持的服务器类型包括:机

    2024年03月16日
    浏览(166)
  • lwip-2.1.3自带的httpd网页服务器使用教程(二)使用SSI动态生成网页部分内容

    上一篇:lwip-2.1.3自带的httpd网页服务器使用教程(一)从SD卡读取网页文件并显示 (本节例程名称:ssi_test) 电脑上用的Web服务器采用ASP、PHP或JSP动态网页技术后,可以根据HTTP模板(asp、php或jsp文件),动态替换掉网页中的% %或?php ?标签,生成动态网页。lwip自带的httpd也有类

    2024年02月10日
    浏览(29)
  • Nginx配置https协议,基于Linux自签(OPENSSL生成SSL自签证书)

    第1步:生成私钥 执行如下命令生成一个RSA私钥 //生成rsa私钥,des3算法,1024位强度,ssl.key是秘钥文件名。 openssl genrsa -des3 -out ssl.key 1024 然后他会要求你输入这个key文件的密码,由你随便设置。 由于以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。 但是生

    2024年01月21日
    浏览(45)
  • 【Git管理工具】使用Docker部署GitLab服务器

    1.GitLab是一款基于Git的开源代码托管平台,提供版本控制功能、代码审查、问题跟踪、CI/CD等一系列项目管理工具。 2.使用GitLab可以轻松管理团队中的开发者,进行代码的协作开发和管理。GitLab也提供了丰富的项目集成和API,可以让开发者更快地进行集成和部署。 3.相比其他类

    2024年02月06日
    浏览(39)
  • 使用cgroup工具对服务器某些/全部用户进行计算资源限制

    主要介绍,如何对指定/所有用户进行资源限定(这里主要介绍cpu和内存占用限制),防止某些用户大量占用服务器计算资源,影响和挤占他人正常使用服务器。 安装 cgroup 管理工具 使用 mount -t cgroup 命令检查验证 可以通过编写 /etc/cgconfig.conf 和 /etc/cgrules.conf 文件进行计算资

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包