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

相关推荐

  • reject

    文章目录reject补充说明语法选项参数 reject 指示打印系统拒绝发往指定目标打印机的打印任务 补充说明 reject命令 属于CUPS套件,用于指示打印系统拒绝发往指定目标…

    入门教程 2024年 3月 1日
  • C++ 注释

    程序的注释是解释性语句,您可以在 C++ 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。 C++ 支持单行注释和多行注释。注释中的所有字符会被 C++…

    2024年 3月 18日
  • usernetctl

    文章目录usernetctl补充说明语法参数 usernetctl 被允许时操作指定的网络接口 补充说明 usernetctl命令 在用于被允许时操作指定的网络接口。 语法 use…

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

    文章目录pwconv补充说明语法实例 pwconv 用来开启用户的投影密码 补充说明 pwconv命令 用来开启用户的投影密码。Linux系统里的用户和群组密码,分别存放在名称为p…

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

    文章目录ls补充说明语法选项参数实例扩展知识不同颜色代表的文件类型 ls 显示目录内容列表 补充说明 ls命令 就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命…

    入门教程 2023年 12月 19日
  • zcat

    文章目录zcat补充说明语法选项参数 zcat 显示压缩包中文件的内容 补充说明 zcat命令 用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。 语法 zcat(选项)(参…

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

    文章目录cu补充说明语法选项实例 cu 用于连接另一个系统主机 补充说明 cu命令 用于连接另一个系统主机。cu(call up)指令可连接另一台主机,并采用类似拨号终端机的接口工…

    入门教程 2023年 12月 7日
  • 创建第一款iPhone应用程序

    现在让我们来创建一个在iOS模拟器上运行的简单视图应用(空白的应用程序)。 操作步骤如下: 1、打开Xcode并选择创建一个新的Xcode项目。 然后选择单一视图应用程序 接下来输…

    2023年 3月 29日
  • iftop

    文章目录iftop补充说明语法选项界面说明实例 iftop 一款实时流量监控工具 补充说明 iftop命令 是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须…

    入门教程 2023年 12月 19日
  • times

    文章目录times主要用途返回值例子注意 times 显示进程累计时间。 主要用途 打印出shell及其子进程累计使用的用户时间和系统时间。 返回值 总是返回成功。 例子 # 执行…

    入门教程 2024年 3月 11日

发表回复

登录后才能评论
Translate »