云网牛站
所在位置:首页 > Linux云服务器 > 安装及使用mkcert在Linux和macOS中创建本地受信任的SSL证书

安装及使用mkcert在Linux和macOS中创建本地受信任的SSL证书

2019-02-11 10:55:58作者:戴进稿源:云网牛站

mkcert是一个简单的零配置工具,由Filippo Valsorda在Go编写,用于制作任何名称的本地可信开发证书,无需任何配置。本文介绍安装及使用mkcert在Linux和macOS中创建本地受信任的SSL证书。

 

在Ubuntu/Debian系统中安装mkcert

要在任何Ubuntu或Debian系统上安装mkcert,首先要安装certutil依赖项:

sudo apt-get update

sudo apt install wget libnss3-tools

当前mkcert的新版本是v1.3.0:

wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.3.0/mkcert-v1.3.0-linux-amd64

下载文件后,使文件可执行并将二进制文件放在/usr/loa/bin下:

chmod +x  mkcert

sudo mv mkcert /usr/local/bin

 

在CentOS/Fedora系统中安装mkcert

在CentOS和Fedora中安装mkcert类似于Ubuntu/Debian安装,只需要先安装nss-tools工具:

sudo yum install nss-tools

安装完成后,下载二进制包,就像安装Ubuntu一样:

wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.3.0/mkcert-v1.3.0-linux-amd64

下载文件后,使文件可执行并将二进制文件放在/usr/loa/bin下:

chmod +x  mkcert

sudo mv mkcert /usr/local/bin

 

在Arch Linux系统中安装mkcert

对于Arch Linux,你可以使用上述过程或使用AUR安装mkcert,对于安装,你需要使用AUR助手,参考安装及使用Arch Linux/Manjaro系统中的AUR助手yay一文。

安装yay后,使用以下命令安装mkcert:

yay -S --noconfirm --needed go

yay -S --noconfirm --needed mkcert

 

在macOS系统中安装mkcert

对于macOS用户,你可以下载二进制包或从.brew安装mkcert:

brew install mkcert

brew install nss # if you use Firefox

对于二进制安装:

wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.3.0/mkcert-v1.3.0-darwin-amd64

下载文件后,使文件可执行并将二进制文件放在/usr/local/bin下:

chmod +x mkcert

sudo mv mkcert /usr/local/bin

 

使用mkcert生成本地受信任的SSL证书

mkcert支持以下根存储:

macOS系统商店

Windows系统商店

提供的Linux变体:update-ca-trust(Fedora,RHEL,CentOS)或update-ca-certificates(Ubuntu,Debian)

Firefox(仅限macOS和Linux)

Chrome和Chromium

Java(设置JAVA_HOME时)

要获取mkcert的帮助页面,请执行选项--help:

安装及使用mkcert在Linux和macOS中创建本地受信任的SSL证书

你可以使用以下命令获取CA根目录:

$ mkcert -CAROOT

/home/jmutai/.local/share/mkcert

你需要首先在系统信任库中安装本地CA:

# mkcert -install

Created a new local CA at "/home/jmutai/.local/share/mkcert" ?

The local CA is now installed in the system trust store!

完成后,可以开始为你的域生成SSL证书,例如,我将生成一个对以下名称有效的新证书:

- "mydomain.com"

- "*.mydomain.co"

- "myapp.net"

- "localhost"

- "127.0.0.1"

- "::1"

输出信息如下:

安装及使用mkcert在Linux和macOS中创建本地受信任的SSL证书

应该能够查看证书的内容,如下:

# cat ./mydomain.com+5.pem

安装及使用mkcert在Linux和macOS中创建本地受信任的SSL证书

私钥是:

~/.mydomain.com+5-key.pem

 

测试mkcert证书

现在让我们使用一个简单的Nginx配置文件测试mkcert证书,所用的操作系统是Ubuntu 18.04:

sudo apt-get install nginx

创建一个简单的网页:

# cat /etc/nginx/conf.d/test.conf 

server {

listen 80;

server_name mydomain.com myapp.net;

root /var/www/test;

}

server {

listen *:443 ssl http2;

root /var/www/test;

server_name mydomain.com myapp.net;

ssl_certificate /home/jmutai/mydomain.com+5.pem; 

ssl_certificate_key /home/jmutai/mydomain.com+5-key.pem;

}

确保/etc/hosts文件包含已使用域的记录:

127.0.0.1 myapp.net

127.0.0.1 mydomain.com

打开浏览器并使用提供的域名,就可以看到成功的成果了。

 

相关主题

在Ubuntu 18.04 Server中安装LEMP的方法[Nginx、MariaDB、PHP7.2]

精选文章
热门文章