借助mkcert签发本地证书
mkcert 是由 Filippo Valsorda 使用go
语言开源的一款零配置搭建本地证书服务的工具,它可以兼容Window, Linux, macOS
等多种开发平台,省去了我们自签本地证书的繁琐步骤,从而让我们专注于开发。
1. 安装mkcert
1.1 Windows
在Windows
环境下,推荐使用Chocolatey
包管理工具安装mkcert
,你可以选择使用cmd
或power shell
安装Chocolatey
:
以管理员权限打开cmd
窗口,输入以下命令进行安装
1 |
@"%SystemRoot%System32WindowsPowerShellv1.0powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%chocolateybin" |
以管理员权限打开power shell
窗口,输入以下命令进行安装
1 |
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) |
Chocolatey
安装完成之后,命令行窗口输入以下命令安装mkcert
1 |
choco install mkcert |
1.2 Linux
以下假定使用的是全新的Linux
系统!
首先更新软件源,防止E: Unable to locate package
的错误,
1 |
sudo apt update |
首先安装证书数据库工具certutil
:
1 |
sudo apt install libnss3-tools // ubuntu |
然后,安装包管理工具Linuxbrew
:
1 |
sudo apt install linuxbrew-wrapper // ubuntu |
最后,使用brew
安装mkcert
1 |
brew install mkcert |
tips:可能需要执行两次命令,同时不要使用sudo
命令,系统会提示你不要使用root
权限来执行brew
。
在mkcert
安装目录下启动mkcert
,推荐将mkcert
加入全局命令,
1 |
PATH=$PATH:/home/linuxbrew/.linuxbrew/Cellar/mkcert/1.2.0/bin |
1.3 macOS
使用Homebrew安装mkcert
:
1 |
brew install mkcert |
2. 生成本地CA证书
2.1 生成根证书
mkcert
安装完成之后就可以使用mkcert
命令生成本地CA
证书了,非常简单,傻瓜式安装。
首先,生成根证书,一般在C:Users用户名AppDataLocalmkcert
目录下会生成rootCA.pem
和rootCA-key.pem
两个文件。
根证书用来充当第三方证书签发机构,类似于Symantec
这种机构,为网站签发CA证书。因为证书也可以伪造,所以浏览器需要验证证书的有效性,证书有效之后才可以进行https
连接,而第三方签发机构提供证书的可信度验证。
rootCA
文件就是告诉浏览器我们自签的证书是真实有效的,接下来我们签发的本地证书都离不开rootCA
。
1 |
$ mkcert -install |