自签ssl 证书工具-mkcert

自签ssl 证书工具-mkcert

一、场景

随着SSL的越来越普及,目前大部分生产环境都已经使用SSL,SSL证书一般有如下方法获取:SSL服务商购买、免费SSL服务商通过HTTP验证/API验证、自签SSL证书。SSL服务商购买后一般需要域名邮箱或者域名持有人邮箱验证,而免费SSL服务商一般需要通过HTTP验证或API方式生成DNS记录进行验证。能不花钱的咱尽量不花,但是免费的SSL证书需要HTTP验证,在本地或者局域网内这个显然时无法进行,当然API方式是一个不错的方法,生成的SSL证书既是信任的还免费,但是不适应于所有情况。自签可以生成任意域名或IP的SSL证书,只不过是不信任的,需要自行将该CA加入信任。自签SSL一般需要使用openssl命令步骤比较繁琐,今天我们借助mkcert工具来一键生成SSL证书并且信任该CA。

二、安装使用

mkcert 是一个用于生成本地自签SSL证书的工具,基于Golang开发,可跨平台使用,不需要配置自动信任CA,支持单域名、多域名和IP。

Windows下安装mkcert

  • 下载

下载链接:https://github.com/FiloSottile/mkcert/releases 或 https://dl.filippo.io/mkcert/latest?for=windows/amd64 下载时注意你自己机器架构类型,大部分情况下win系统为amd64,极少部分为arm64。

  • 安装

键盘按Win键+R键,输入cmd 回车,找到下载的mkcert,将mkcert的文件拖入命令提示符的窗口中,并添加上 -install 参数,回车。
在这里插入图片描述

  • 生成ssl证书

和前面安装mkcert的步骤一样,将 -install 参数更改为你要生成SSL证书的域名或IP。

  • 证书结果

回车后就会在mkcert文件所在目录生成SSL证书,一个命令生成的这些域名或IP是在一张SSL证书里面。

生成的SSL证书文件名为:./example.com+2.pem,key文件为:./example.com+2-key.pem

Linux下安装mkcert

  • 下载

下载链接:https://github.com/FiloSottile/mkcert/releases 或 https://dl.filippo.io/mkcert/latest?for=linux/amd64 下载时注意你自己机器架构类型,大部分情况下linux系统为amd64,极少部分为arm64。

打开终端,输入如下命令下载mkcert:

wget "https://dl.filippo.io/mkcert/latest?for=linux/amd64" -O mkcert && chmod +x mkcert
  • 安装

mkcert需要依赖certutil,所以安装前需要先安装依赖包

CentOS/RHEL/Fedora/Alma/RockyDebian/Ubuntu/Deepin

apt-get install -y libnss3-tools

./mkcert -install

生成SSL证书的方法和Windows系统上时一样的,将前面 -install 参数替换为要生成SSL证书的域名或者IP就可以。

./mkcert example.com 10.10.10.1 127.0.0.1 localhost
  • 证书结果

生成的SSL证书,在当前mkcert文件所在的目录下,一个命令生成的这些域名或IP是在一张SSL证书里面。
在这里插入图片描述

生成的SSL证书在当前目录下,文件名为:example.com+2.pem,key文件为:example.com+2-key.pem

ssl证书使用

接下来就是最简单的将SSL部署到Nginx、Apache等web服务器上了,如LNMP一键安装包的话直接 lnmp vhost add 或 lnmp ssl add 添加上就可以了

作者:苏和成

猜你喜欢

转载自blog.csdn.net/ekcchina/article/details/131200481