使用openssl,在windows sever上创建ca,以及签发证书

创建2个目录,一个ca,一个certs

  1. ca: 存放ca相关数据
  2. certs: 存放申请的公私钥和配置

1 创建CA

# 创建ca私钥,需要指定密码
openssl genrsa -aes256 -out ca.key 4096
# 生成证书
openssl req -x509 -new -nodes -key ca.key -sha256 -days 7300 -out ca.crt
# 查看证书
openssl x509 -in ca.crt -noout -text

2.创建域名附加配置文件,新建文件cert.ext 输入如下内容保存

没有这个浏览器不认识,主要是dns这行的附加数据

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names[alt_names]
DNS.1 = ai.etronprobe.com
DNS.2 = etronprobe.com

3 申请和签发证书

cd ..
mkdir certs
cd certs# 生成私钥
openssl genrsa -out ai.key 2048
# 创建申请
openssl req -new -key ai.key -out ai.csr
# 使用CA签署ssl证书
# ssl证书有效期10年
openssl x509 -req -in ai.csr -out ai.crt -days 3650 -CAcreateserial -CA ../ca/ca.crt -CAkey ../ca/ca.key -CAserial serial -extfile cert.ext

4 可选命令

#查看证书
openssl x509 -in ai.crt -noout -text#验证证书是否通过
openssl verify -CAfile ../ca/ca.crt ai.crt#合并公私钥(如果需要,比如iis)
openssl pkcs12 -export -in ai.crt -inkey ai.key -out ai.pfx# 将crt转为p7b
openssl crl2pkcs7 -nocrl -out ca.p7b -certfile ca.crt

5. 注,文件类型:

  1. crt/cer 是证书/公钥
  2. csr 申请
  3. pem/key 私钥
  4. pfx/p12 公私钥合体
  5. p7b 证书链,理解为crt的组合

6 问题排查

  1. firefox 报错,证书导不进去,或者不认根证书. 请使用
#查看证书
openssl x509 -in ca.crt -noout -text

命令查看是否包含这一句,如果不含,则创建的ca证书未被声明为: 基本约束 证书颁发机构 是
则firefox不认ca根证书,所以无效,但是chrome,edge不管这个,都认

 X509v3 Basic Constraints: criticalCA:TRUE

应该是由于

# 类似于此语句中
openssl x509 -req -days 3650 -sha256 -extensions v3_ca -signkey private/cakey.pem -in private/ca.csr -out certs/ca.cer
# 这段没生效导致的
-extensions v3_ca

解决方案:用本文的命令来签发就好了

  1. 使用AD CS ,即windows自带的证书套件
    浏览器不认,报错:NET::ERR_CERT_COMMON_NAME_INVALID
    是因为证书没有嵌入域名信息,即证书中缺少这个信息
DNS.1 = ai.etronprobe.com
DNS.2 = etronprobe.com

签发时需要加入附加信息

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

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

相关文章

【设计模式】01-装饰器模式Decorator

作用:在不修改对象外观和功能的情况下添加或者删除对象功能,即给一个对象动态附加职能 装饰器模式主要包含以下角色。 抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。具体构件&#xff08…

unity打包apk运行于google手机

第一次打包apk运行于Pixel 7 Pro 一直提示安装包无法安装 untiy版本2020.1.0f1 有两点需要注意 第一 Scrpting Backend 需要选择 IL2CPP 勾选 ARM64 第二 勾选 Custom Main Mainfest 在Assets -> Plugins -> Android文件夹下 AndroidMainfest 中增加android:export…

MATLAB算法实战应用案例精讲-【人工智能】ROS机器人(基础篇)(二)

目录 算法原理 跨不同ROS系统的通信 实现步骤 ROS2 robot-localization配置 使用方式 配置robot-localization

QT3作业

1 2. 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数,将登录按钮使用t5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin"&#…

websocket 实现原理和技术方案

websocket WebSocket 是 HTML5 开始提供的一种浏览器与服务器进行全双工通讯的网络技术,用以取代轮询与长连接,使客户端浏览器具备像 C/S 框架下桌面系统的即使通讯能力 websocket协议是建立在tcp协议之上的,建立连接需要三次握手。 webso…

【四】3D Object Model之测量Features——get_object_model_3d_params()算子

😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有…

iMazing2024Windows和Mac的iOS设备管理软件(可以替代iTunes进行数据备份和管理)

iMazing2024是一款兼容 Windows 和 Mac 的 iOS 设备管理软件,可以替代 iTunes 进行数据备份和管理。以下是一些 iMazing 的主要功能和优点: 数据备份和恢复:iMazing 提供了强大的数据备份和恢复功能,可以备份 iOS 设备上的各种数据…

PWM在STM32中使用指南

什么是PWM? PWM(脉冲宽度调制)是一种常用来控制模拟电路的技术,通过修改脉冲的宽度(即在固定周期内的高电平持续时间)来调控输出信号的平均电压。 一个PWM信号主要包括两个部分:一个是占空比,…

四甲基罗丹明-叠氮,5(6)-TAMRA N3,常用的生物标记试剂

您好,欢迎来到新研之家 文章关键词:四甲基罗丹明-叠氮,Tetramethylrhodamine, TMR,5(6)-TAMRA-azide,5(6)-TAMRA N3 一、基本信息 产品简介:5 (6) - TAMRA azide, also known as tetramethylrhodamine a…

智慧安防/视频监控汇聚平台EasyCVR如何通过接口调用获取设备录像回看的流地址?

视频云存储/视频融合/安防监控EasyCVR视频汇聚系统可兼容各品牌的IPC、NVR、移动单兵、智能手持终端、移动执法仪、无人机、布控球等设备的接入,支持的接入协议包括:国标GB28181、RTSP/Onvif、RTMP,以及厂家的私有协议与SDK,如&am…

全流程点云机器学习(二)使用PaddlePaddle进行PointNet的机器学习训练和评估

前言 这不是高支模项目需要嘛,他们用传统算法切那个横杆竖杆流程复杂耗时很长,所以想能不能用机器学习完成这些工作,所以我就来整这个工作了。 基于上文的数据集切分 ,现在来对切分好的数据来进行正式的训练。 本系列文章所用的…

NODEJS + VUE

简单回顾一下之前做的项目: 一、什么是nodejs? 脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的JS&#xf…

使用 Next.js 连接 mysql 数据库

前言 本文主要为大家介绍,如何使用 Next 框架实现一个简单的后端接口,并且从数据库中请求数据返回给前端。 实现 创建api/getData文件夹 项目创建完成后在 app 文件下新建api文件夹,在 api 文件夹下新建 getData 文件夹,在 ge…

IOT-Reaserch安装ghidra以及IDEA和ghidra的配置

Linux research 5.4.0-91-generic #102~18.04.1-Ubuntu SMP Thu Nov 11 14:46:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux java --version IOT自带的java是符合要求的,不需要额外下载 iotresearch:~/install-file$ java --version openjdk 11.0.13 2021-10-19 …

【LeetCode】509. 斐波那契数(简单)——代码随想录算法训练营Day38

题目链接:509. 斐波那契数 题目描述 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n -…

数字新纪元:探索Web3对社会的影响

在当今数字化时代,技术的进步已经成为社会发展的驱动力之一。而随着区块链技术的快速发展,我们正处在一个即将到来的数字新纪元——Web3时代。这一新时代不仅仅是技术的迭代升级,更是对传统社会模式的颠覆和重构。本文将深入探讨Web3对社会的…

当前主流开发语言有哪些:了解其特性、应用与示例

随着技术飞速发展,编程语言的丰富多样性为开发者提供了广泛的选择。每种语言都有其适用的场景和独特的特性。本文将综合探讨目前市场上最流行、最多人使用的几种主流开发语言,包括它们的特点、典型应用场景以及简单示例代码。 一、Python 特点 Python…

深入理解指针(c语言)

目录 一、使用指针访问数组二、数组名的理解1、数组首元素的地址2、整个数组 三、一维数组传参的本质四、冒泡排序五、二级指针六、指针数组 一、使用指针访问数组 可以使用指针来访问数组元素。例如,可以声明一个指针变量并将其指向数组的第一个元素,然…

Github代码仓库SSH配置流程

作者: Herman Ye Auromix 测试环境: Ubuntu20.04 更新日期: 2024/02/21 注1: Auromix 是一个机器人爱好者开源组织。 注2: 由于笔者水平有限,以下内容可能存在事实性错误。 相关背景 在为Github代码仓库配…

Unity Shader ASE基础效果思路与代码(一):遮罩、硬边溶解、光边溶解、UV扰动

Unity Shader ASE基础效果思路与代码(一):遮罩、硬边溶解、光边溶解、UV扰动 文章目录 Unity Shader ASE基础效果思路与代码(一):遮罩、硬边溶解、光边溶解、UV扰动遮罩效果硬边溶解光边溶解UV扰动 遮罩效果 效果展示: 思路与代码&#xff1…