【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记

文章目录

  • 证书(CA证书,服务端证书,客户端证书)
  • 1 安装CA
    • 1.1 下载mkcert
    • 1.2 mkcert安装和配置根证书
    • 1.3设备安装根证书
  • 2 自签名ssl证书
    • 2.1 CA 证书过程:
    • 2.2 自签名流程
    • 2.3签发证书
    • 2.4给已有的证书请求(.csr)签发证书
    • 参考文献
  • 3 配置nginx的https
    • 3.1 查看NGINX是否安装SSL模块
    • 3.2 配置config文件

证书(CA证书,服务端证书,客户端证书)

1 安装CA

CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。

在电子商务系统中,所有实体的证书都是由证书授权中心即CA中心颁发并签名的。一个完整的、安全的电子商务系统必须建立一个完整的、合理的CA体系。CA体系由证书审批部门和证书操作部门组成。

1.1 下载mkcert

mkcert 工具
https://gitee.com/stonedst/mkcert

$ mkcert -install
Created a new local CA 💥
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊

1.2 mkcert安装和配置根证书

首先到github下载mkcert工具,下面我以windows平台作为演示

在cmd中cd到mkcert所在的目录运行下面的命令

.\mkcert.exe -install

这条命令会创建一组根证书和私钥,根证书会被安装到系统中。输入下面的命令就可以查看到ca证书存放的位置。其中“rootCA.pem“就是根证书,有些系统比如windows可能不会认rootCA.pem可以把他改成rootCA.crt。将他发送给需要安装的自定义证书的设备,安装好之后自签名证书就不会显示不安全了。另外rootCA-key.pem是根证书的私钥文件,不可公开需要妥善保管。

.\mkcert.exe -CAROOT

1.3设备安装根证书

1.windows

直接打开rootCA.crt,并将证书安装到受信任的根证书

2.安卓

直接在文件管理器安装rootCA.crt

3.macos

直接在文件管理器安装rootCA.crt,然后打开钥匙串-系统找到mkcert开头的证书,双击打开。设置为下图的模式就可以了。

[使用mkcert免费给群晖创建十年期自签ssl证书

4.ios

ios要先安装ca证书,然后在“设置”——“通用”——“描述文件和设备管理”——验证刚才安装的ca证书。然后在“通用”——“关于本机”——“证书信任设置”信任刚才的ca证书

mkcert签发自签名证书的教程就已经结束了,rootCA.crt可以保存在一些容易获取到的地方,比如网盘上,这样去到新的地方就可以安装根证书确保访问安全了。而且根证书本身就是公开的,不需担心安全性问题,确保不被篡改就行了。

2 自签名ssl证书

SSL证书一般有如下方法获取:SSL服务商购买、免费SSL服务商通过HTTP验证/API验证、自签SSL证书。

如果进行自签SSL证书,首先要有一个CA根证书,然后用CA根证书来签发用户证书。

用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA 根证书来签发证书。

自签可以生成任意域名或IP的SSL证书,只不过是不信任的,需要自行将该CA加入信任。

2.1 CA 证书过程:

生成CA私钥(.key)–>生成CA证书请求(.csr)–>自签名得到根证书(.crt)(CA给自已颁发的证书)

2.2 自签名流程

生成服务端key(.key)–>生成服务端请求文件(.csr)–>生成服务端证书,使用CA根证书签发(.crt)–>生成pem格式证书–>生成p12格式证书

自签SSL一般需要使用openssl命令步骤比较繁琐,今天我们借助mkcert工具来一键生成SSL证书并且信任该CA。

2.3签发证书

mkcert签发证书非常的简单,用下列的命令就可以给“192.168.100.100”签发一个ssl证书

.\mkcert.exe 192.168.100.100

当然也可以给域名签发一个ssl证书,比如给*.home.com这个泛解析域名签发ssl证书

.\mkcert.exe *.home.com

也可以给多个域名多个ip签发ssl证书,比如我给*.home.com, *.nas.com, *.Router.com, 192.168.100.100, 10.10.100.100。等三个域名,2个ip签发在同一张ssl证书中。

.\mkcert.exe *.home.com *.router.com *.nas.com 192.168.100.100 10.10.100.100

.\mkcert.exe *.abiuni.com *.techco.club   8.139.98.150 8.219.252.173

2.4给已有的证书请求(.csr)签发证书

如果已有请求文件csr文件和私钥,然后用csr文件给mkcert签发的ssl证书才能使用。使用mkcert免费给群晖创建十年期自签ssl证书

把证书下载好后,将server.csr复制到mkcert所在的目录执行下面的命令,就可以根据csr文件签发出ssl证书。

.\mkcert.exe -csr server.csr

将生成的证书和里面的server.key(私钥)一起设置配置好证书的使用就可以了。

参考文献

https://post.smzdm.com/p/aeveozgm/
https://zhuanlan.zhihu.com/p/636932873
https://blog.csdn.net/Amorbcbc/article/details/131646799

3 配置nginx的https

3.1 查看NGINX是否安装SSL模块

./nginx -V # 注意,是大写的V,如果有ssl_module那就说明有,没有就自行安装

3.2 配置config文件

    server {
        listen 443;
        server_name 8.138.98.150;
        ssl on;
        ssl_certificate  /usr/share/nginx/html/card/com.pem;
        ssl_certificate_key /usr/share/nginx/html/card/com.key;

        location / {
           root   /usr/share/nginx/html;
           index  index.html index.htm index.php;
        }

    }

重启nginx

service nginx reload

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式中串口输入

学习目标 掌握串口初始化流程掌握串口接收逻辑了解中断接收逻辑熟练掌握串口开发流程学习内容 需求 串口接收PC机发送的数据。 串口数据接收 串口初始化 static void USART_config() {uint32_t usartx_tx_rcu = RCU_GPIOA;uint32_t usartx_tx_port = GPIOA;uint32_t usartx…

12.19_黑马数据结构与算法笔记Java

目录 203 排序算法 选择排序 204 排序算法 堆排序 205 排序算法 插入排序 206 排序算法 希尔排序 207 排序算法 归并排序 自顶至下 208 排序算法 归并排序 自下至上 209 排序算法 归并加插入 210 排序算法 单边快排 211 排序算法 双边快排 212 排序算法 快排 随机基准…

QT中网络编程之发送Http协议的Get和Post请求

文章目录 HTTP协议GET请求POST请求QT中对HTTP协议的处理1.QNetworkAccessManager2.QNetworkRequest3.QNetworkReply QT实现GET请求和POST请求Get请求步骤Post请求步骤 测试结果 使用QT的开发产品最终作为一个客户端来使用,很大的一个功能就是要和后端服务器进行交互…

视频号小店怎么做?起店全流程实操分享!

我是电商珠珠 视频号小店距今也不过才发展了一年时间,22年发展的电商平台,经过各种优化到了23年在电商圈激起了不小的火花。 很多想要入驻的新手,在前期并不了解视频号小店怎么做的,不知道开店之后该如何运营。 接下来&#xf…

AutoJS 实现抖音极速版福袋脚本

前言 好久没更新博客了,最近做了个抖音极速版福袋脚本,想看看能不能自动抢到,于是在仿照其他脚本功能做了一个,哈哈。利用上班时间让它自己跑,测试大概2-3天,一个福袋没抢到(也不知道是不是被检测到了)&am…

Linux学习(1)——初识Linux

目录 一、Linux的哲学思想 1.1 基础知识 1.2 根目录下的文件夹 二、Shell 1、Shell的定义 2、Shell的作用 三、Linux命令行 1、Linux通用命令行使用格式 四、Linux命令的分类 1、内部命令和外部命令的理解 2、内部命令和外部命令的区别 3、命令的执行过程 五、编辑…

C语言——内存函数的使用与模拟实现

大家好,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流 本文由:残念ing 原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客,欢迎各位…

手把手教你在 windows 上安装 Docker

前言 大家好,我是潇潇雨声,今天为大家带来一篇关于在 Windows 环境下使用 Docker 的教程。对于 Docker,我们可以简单地将其看作一种方便的软件安装方式,而无需深入涉及其复杂的概念。选择使用 Docker 主要是为了省事,比…

【python】在线代码混淆方案及注意事项

▒ 目录 ▒ 🛫 导读开发环境 1️⃣ 在线网站pyob混淆操作步骤编写测试代码混淆转pyc缺点中文路径问题:python: Cant reopen .pyc file 2️⃣ 反编译python文件格式对比uncompyle6 3️⃣ 其它方案cpythonpython-obfuscatorPyInstaller【不推荐】pyminifie…

数据结构与算法之美学习笔记:38 | 分治算法:谈一谈大规模计算框架MapReduce中的分治思想

目录 前言如何理解分治算法?分治算法应用举例分析分治思想在海量数据处理中的应用解答开篇内容小结 前言 本节课程思维导图: MapReduce 是 Google 大数据处理的三驾马车之一,另外两个是 GFS(hdfs) 和 Bigtable(hbase)…

计算机提示vcruntime140.dll丢失的解决方法,多种修复教程分享

vcruntime140.dll是一个非常重要的动态链接库文件,它包含了许多运行时的函数和类。然而,有时候我们可能会遇到vcruntime140.dll无法继续执行代码的问题,这会给我们带来很大的困扰。那么,这个问题是什么原因导致的呢?又…

你知道跨站脚本攻击吗?一篇带你了解什么叫做XSS

1.XSS简介 (1)XSS简介 XSS作为OWASP TOP 10之一。 XSS中文叫做跨站脚本攻击(Cross-site scripting),本名应该缩写为CSS,但是由于CSS(Cascading Style Sheets,层叠样式脚本&#x…

华清远见作业第十三天

1.使用多文件编辑, 定义商品信息:商品名称,商品单价,商品购买个数,商品描述,循环输入购买的商品,按单价排序,输出商品信息,计算最贵的商品以及一共花了多少钱? 在create函数&#x…

Python PyCaret:自动化机器学习的利器

更多资料获取 📚 个人网站:ipengtao.com 在这篇文章中,将深入介绍 Python 中强大的机器学习库 PyCaret。PyCaret 是一个自动化机器学习工具,旨在简化从数据预处理到模型部署的整个机器学习流程。通过 PyCaret,你可以以…

百度旋转验证码识别(最新)

最近研究了一下图像识别,一直找到很好的应用场景,今天我就发现可以用百度的旋转验证码来做一个实验。没想到效果还挺好,下面就是实际的识别效果。 1、效果演示 2、如何识别 2.1准备数据集 首先需要使用爬虫,对验证码图片进行采…

随时爆雷!2023年四大“安全债”

即将过去的2023年,网络安全、云安全、应用安全、数据安全领域暴露的诸多“安全债”中,有四大债务不但未能充分缓解,反而有在新的一年“爆雷”的风险。这四大债务分别是:Logj4漏洞、HTTP/2快速重置攻击漏洞、恶意电子邮件和后量子加…

《每天一分钟学习C语言·三》

1、 scanf的返回值由后面的参数决定scanf(“%d%d”,& a, &b); 如果a和b都被成功读入,那么scanf的返回值就是2如果只有a被成功读入,返回值为1如果a和b都未被成功读入,返回值为0 如果遇到错误或遇到end of file,返回值为EOF…

Ansible常用模块详解(附各模块应用实例和Ansible环境安装部署)

目录 一、ansible概述 1、简介 2、Ansible主要功能: 3、Ansible的另一个特点:所有模块都是幂等性 4、Ansible的优点: 5、Ansible的四大组件: 二、ansible环境部署: 1、环境: 2、安装ansible&#…

web前端游戏项目-雷霆战机飞机大战游戏【附源码】

文章目录 一:雷霆战机HTML源码:JS文件:(1)function.js(2)impact.js(3)move.1.1.js(4)script.js 二:飞机大战HTML源码:CSS源…

短视频时代,又恰逢双旦来临之际,普通人又该如何立足?

我是电商珠珠 在电商发展迅速的同时,短视频也在同步发展。国内的短视频比较热门的有抖音、视频号、快手这几个。 抖音在19年的时候发展起了自己的电商行业-抖音小店,并顺势掀起了直播电商的热潮。 直播电商在短视频中很火,所以很多人都选择…