mkcert

mkcert

用来生成自签证书的工具

示例

mkcert 是 GO 编写的,一个简单的零配置的用来生成自签证书的工具。

下面给一个简单的示例,在本地生成自签证书,并使用让 nc 使用生成的证书。

~ ·········································································································································  10:46:25
❯ mkcert -install
The local CA is already installed in the system trust store! 👍The local CA is already installed in the Firefox and/or Chrome/Chromium trust store! 👍
~ ·········································································································································  10:46:34
❯ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1

Created a new certificate valid for the following names 📜 - "example.com"
 - "*.example.com"
 - "example.test"
 - "localhost"
 - "127.0.0.1"
 - "::1"

Reminder: X.509 wildcards only go one level deep, so this won't match a.b.example.com ℹ️

The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅
It will expire on 30 January 2025 🗓

~ ·········································································································································  10:47:37
❯ ls             
公共  视频  文档  音乐  aria          aria2-downloads  Dockerfile             example.com+5.pem  GOPATH  minio-binaries  nowip_hosts.txt  tech_backend.jar
模板  图片  下载  桌面  aria2-config  cv_debug.log     example.com+5-key.pem  go                 math    navicat_reset   src
~ ·········································································································································  10:47:55
❯ ncat -lvp 1589 --ssl-key example.com+5-key.pem --ssl-cert example.com+5.pem 
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Listening on :::1589
Ncat: Listening on 0.0.0.0:1589
Ncat: Connection from 127.0.0.1.
Ncat: Connection from 127.0.0.1:39156.
Ncat: Failed SSL connection from 127.0.0.1: error:00000000:lib(0):func(0):reason(0)

mkcert 自动生成并安装一个本地 CA 到 root stores,并且生成 locally-trusted 证书。mkcert 不会自动使用证书来配置服务器,不过,这取决于你。

安装

Warning: mkcert 自动生成的 rootCA-key.pem 文件提供了完整的能力来拦截你机器上的安全请求。请不要分享它。

macOS

$ brew install mkcert
$ brew install nss # 如果用 Firefox 的话

Linux

在 Linux 上,首先要安装 certutil

$ sudo apt install libnss3-tools
#    -or-
$ sudo yum install nss-tools
#    -or-
$ sudo pacman -S nss
#    -or-
$ sudo zypper install mozilla-nss-tools

然后可以使用 Homebrew on Linux 来安装。

$ brew install mkcert

或者从源码构建(要求 Go 1.13+)

git clone https://github.com/FiloSottile/mkcert && cd mkcert
go build -ldflags "-X main.Version=$(git describe --tags)"

又或者使用 预构建的二进制文件

$ curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
$ chmod +x mkcert-v*-linux-amd64
$ sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert

对于 Arch Linux 用户(比如我),mkcert 在 Arch Linux 官方仓库中可用。

$ sudo pacman -S mkcert

Windows

使用 Chocolatey

$ choco install mkcert

或者使用 Scoop

$ scoop bucket add extras
$ scoop install mkcert

或者从源码构建(要求 Go 1.10+) ,或者使用 预构建的二进制文件

如果遇到权限问题,请使用管理员运行 mkcert

支持的 root stores

mkcert 支持以下 root stores:

  • macOS system store
  • Windows system store
  • Linux 发行版提供
    • update-ca-trust (Fedora,RHEL,CentOS)或者
    • update-ca-certificates (Ubuntu,Debian,OpenSUSE,SLES)或者
    • trust (Arch)
  • Firefox (仅 macOS 和 Linux)
  • Chrome 和 Chromium
  • Java(当 JAVA_HOME 被设置时)

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/mkcert/

(0)
AuroraAurora站点维系者
上一篇 2024年 1月 3日 下午6:03
下一篇 2024年 1月 3日 下午6:03

相关推荐

  • test

    文章目录test概要主要用途参数文件操作符:字符串运算符:其他运算符:返回值例子注意 test 执行条件表达式。 概要 test [expr] 主要用途 执行条件表达式。 参数 文…

    入门教程 2024年 3月 11日
  • zip

    文章目录zip补充说明语法选项参数实例问题解决 zip 可以用来解压缩文件 补充说明 zip命令 可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它…

    入门教程 2024年 3月 11日
  • Java 异常处理

    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你…

    2023年 3月 4日
  • mtools

    文章目录mtools补充说明语法选项实例 mtools 显示mtools支持的指令 补充说明 mtools命令 显示mtools支持的指令,mtools为MS-DOS文件系统的工具…

    入门教程 2024年 1月 3日
  • renice

    文章目录renice补充说明语法选项参数实例 renice 修改正在运行的进程的调度优先级 补充说明 renice命令 可以修改正在运行的进程的调度优先级。预设是以程序识别码指定程…

    入门教程 2024年 3月 1日
  • pssh

    文章目录pssh补充说明安装pssh选项实例 pssh 批量管理执行 补充说明 pssh命令 是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中…

    入门教程 2024年 3月 1日
  • HTML 段落

    HTML 可以将文档分割为若干段落。 文章目录HTML 段落实例不要忘记结束标签HTML 折行实例HTML 输出- 使用提醒HTML 标签参考手册 HTML 段落 段落是通过 &l…

    2023年 4月 11日
  • sleep

    文章目录sleep补充说明语法参数实例 sleep 将目前动作延迟一段时间 补充说明 sleep命令 暂停指定的时间。 语法 sleep(参数) 参数 时间:指定要暂停时间的长度,…

    入门教程 2024年 3月 5日
  • Helm | Helm 展示chart

    文章目录helm show chart简介可选项从父命令继承的命令请参阅 helm show chart 显示chart定义 简介 该命令检查chart(目录、文件或URL)并显示…

    入门教程 2023年 12月 14日
  • mkswap

    文章目录mkswap补充说明语法选项参数实例 mkswap 建立和设置SWAP交换分区 补充说明 mkswap命令 用于在一个文件或者设备上建立交换分区。在建立完之后要使用sawp…

    入门教程 2024年 1月 3日

发表回复

登录后才能评论
Translate »