使用 mkcert 工具自签发 https 证书并进行本地受信

介绍

mkcert 是一个用于创建本地受信任的 SSL/TLS 证书的简单工具,特别适合开发者在本地环境中使用。它解决了为开发和测试目的创建自签名证书时遇到的信任问题。以下是关于 mkcert 的详细介绍:

特点

  • 易用性:只需一条命令即可生成证书,并自动安装到系统的根证书存储中。
  • 跨平台支持:支持Windows、macOS和Linux等操作系统。
  • 多域名支持:可以为多个域名(包括通配符域名)创建证书。
  • 自动管理:能够自动处理证书的安装和移除,简化了证书管理流程。

官方地址:https://github.com/FiloSottile/mkcert

使用

如下一张图就把使用 mkcert 创建和使用证书讲清楚了:

在这里插入图片描述

注意:必须要使用管理员模式操作,否则执行命令时会出现相关目录不可以操作等权限问题。

分发根证书

将根证书分发给其他用户,手工导入操作系统后,目标用户通过浏览器访问 mkcert 基于同一个根证书签发的所有证书,就不再会有浏览器红色警告了。

分发扩展名处理:

rootCA.pem 拷贝一个副本,并命名为 rootCA.crt (因为 windows 并不识别pem扩展名,并且 Ubuntu 也不会将pem扩展名作为 CA 证书文件对待),将rootCA.crt文件分发给其他用户,手工导入。

如果根证书已经分发给很多用户(比如公司内部所有同事),请妥善保管根证书,否则以后重新生成根证书再签发的证书又是不可信了(信任的前提是基于同一个根证书签发的所有证书)。


上文是 Windows 下的操作,如果你是 Linux 和 MacOS,详见官网操作步骤。

如果你希望自定义 OrganizationOrganizationalUnitCommonName,请通过修改源代码 cert.go 文件并重新编译程序实现。
rootCA 默认有效期10年,后续签发的证书默认有效期2年3个月。如果需要修改时长,也是修改 cert.go 文件后重新编译。


原理

整体原理图如下,仅供参考:

在这里插入图片描述

根证书安装后,可以通过证书管理界面看到我们的证书,如下图所示:

在这里插入图片描述

在 Linux 上安装根证书

Linux 系统如果要正常访问自签发 https 证书不警告,同理需要安装根证书(不是创建证书)。

根据操作系统的不同,将转换后的证书放到不同的证书目录,然后执行对应的更新命令,如下:

Centos:

cp ca.crt /etc/pki/ca-trust/source/anchors;update-ca-trust

Ubuntu:

sudo cp ca.crt /usr/local/share/ca-certificates;sudo update-ca-certificates

Alpine:

cp ca.crt /usr/local/share/ca-certificates;sudo update-ca-certificates

(END)

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

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

相关文章

视频推拉流EasyDSS无人机直播技术巡查焚烧、烟火情况

焚烧作为一种常见的废弃物处理方式,往往会对环境造成严重污染。因此,减少焚烧、推广绿色能源和循环经济成为重要措施。通过加强森林防灭火队伍能力建设与长效机制建立,各地努力减少因焚烧引发的森林火灾,保护生态环境。 巡察烟火…

C语言:分支结构

C语言:分支结构 分支结构 问题引出 我们在程序设计往往会遇到如下的问题,比如下面的函数的计算 也就是我们是必须要通过一个条件的结果来选择下一步的操作,算法上属于一个分支结构,C语言中实现分支结构主要使用if语句 条件判断…

图像矫正小白指南:从理论到实践的简单实现

一、引言 在日常生活中,使用手机拍全景照片或通过车载摄像头查看倒车影像时,常常会发现画面出现一定程度的变形。例如,建筑物的直线会被拉弯,或者车身轮廓显得不自然。这种现象就是图像畸变,它可能影响美观&#xff0…

【开源】基于SpringBoot框架的读书笔记共享平台 (计算机毕业设计)+万字毕业论文 T029

系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境: Tomcat 7.x,8.x,9.x版本均可 操作系统…

Master EDI 项目需求分析

Master Electronics 通过其全球分销网络,支持多种采购需求,确保能够为客户提供可靠的元件供应链解决方案,同时为快速高效的与全球伙伴建立合作,Master 选择通过EDI来实现与交易伙伴间的数据传输。 EDI为交易伙伴之间建立了一个安…

设计模式之工厂模式:从汽车工厂到代码工厂

~犬📰余~ “我欲贱而贵,愚而智,贫而富,可乎? 曰:其唯学乎” 工厂模式概述 想象一下你走进一家4S店准备买车。作为顾客,你不需要知道汽车是如何被制造出来的,你只需要告诉销售顾问&a…

Maven插件打包发布远程Docker镜像

dockerfile-maven-plugin插件的介绍 dockerfile-maven-plugin目前这款插件非常成熟,它集成了Maven和Docker,该插件的官方文档地址如下: 地址:https://github.com/spotify/dockerfile-maven 其他说明: dockerfile是用…

求解自洽场方程

Let’s break down the problem and the solving process step-by-step. Problem Overview The problem appears to be related to linear algebra and possibly quantum mechanics (given the mention of “eigenvalues” and “Hamiltonian” in the Chinese text). We hav…

【JavaEE进阶】关于Maven

目录 🌴什么是Maven 🌲为什么要学Maven 🎍创建一个Maven项目 🎄Maven核心功能 🚩项目构建 🚩依赖管理 🎋Maven Help插件 🍀Maven 仓库 🚩本地仓库 &#x1f6a…

免费下载 | 2024全球AI网络安全产品洞察报告

《2024全球AI网络安全产品洞察报告》的核心内容包括以下几个方面: AI对网络安全的影响: AI技术对网络安全产品领域产生重大影响,推动了以AI为核心的安全产品时代的到来。全球网络安全厂商正在将AI能力深度融合于安全产品体系中,以…

Android显示系统(10)- SurfaceFlinger内部结构

一、前言: 之前讲述了native层如何使用SurfaceFlinger,我们只是看到了简单的API调用,从本文开始,我们逐步进行SurfaceFlinger内部结构的分析。话不多说,莱茨狗~ 二、类图: 2.1、总体架构: 先…

源码编译安装MySQL

MySQL相应版本的tar包下载 在5.7的版本的MySQL编译安装的时候,需要依赖C语言的库文件【boost】, 如上图所示,如果你使用第一个MySQL的tar包,还需要去网上去下载boost即C语言的库文件,但是第二个tar包就既包含MySQL的源…

threejs 建筑设计(室内设计)软件 技术调研之一 画墙体

运用threejs 开发 建筑设计(室内设计)软件 技术调研 一 画墙体 实现功能: 左键点击开始画线,移动时下一端点跟随鼠标移动,产生活动的线,并标注线长,同时标注与前一段线的夹角。标注线和夹角分…

遗传算法与深度学习实战(27)——进化卷积神经网络

遗传算法与深度学习实战(27)——进化卷积神经网络 0. 前言1. 自定义交叉算子2. 自定义突变操作符3. 进化卷积神经网络小结系列链接 0. 前言 DEAP toolbox 中提供的标准遗传操作符对于自定义的网络架构基因序列来说是不够的。这是因为任何标准的交叉算子…

2024年第十五届蓝桥杯青少组C++国赛—割点

割点 题目描述 一张棋盘由n行 m 列的网格矩阵组成,每个网格中最多放一颗棋子。当前棋盘上已有若干棋子。所有水平方向或竖直方向上相邻的棋子属于同一连通块。 现给定棋盘上所有棋子的位置,如果要使棋盘上出现两个及以上的棋子连通块,请问…

嵌入式硬件-- 元器件焊接

1.锡膏的使用 锡膏要保存在冰箱里。 焊接排线端子;138度的低温锡(锡膏), 第一次使用,直接拿东西挑一点涂在引脚上,不知道多少合适,加热台加热到260左右,放在上面观察锡融化&#…

Linux 简单命令总结

1. 简单命令 1.1. ls 列出该目录下的所有子目录与文件,后面还可以跟上一些选项 常用选项: ・-a 列出目录下的所有文件,包括以。开头的隐含文件。 ・-d 将目录象文件一样显示,而不是显示其下的文件。如:ls -d 指定目…

深入探讨可调电位器:原理、应用及编程实现

在电子电路和嵌入式系统中,可调电位器是一种常见且实用的元件,用于调节电压或电阻。无论是硬件设计还是控制系统开发,可调电位器都扮演着重要角色。本文将从可调电位器的工作原理、常见应用及其在C编程中的实际使用,帮助读者深入了…

MVC配置文件及位置

配置文件位置 默认位置 WEB-INF目录下&#xff0c;文件名&#xff1a;<servlet-name>-servlet.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.…

26. Three.js案例-自定义多面体

26. Three.js案例-自定义多面体 实现效果 知识点 WebGLRenderer WebGLRenderer 是 Three.js 中用于渲染场景的主要类。它支持 WebGL 渲染&#xff0c;并提供了多种配置选项。 构造器 new THREE.WebGLRenderer(parameters) 参数类型描述parametersObject可选参数对象&…