获取文件夹内容时发生错误.
名称 最后提交 最后更新
    README.md

    mkcert

    mkcert 是一种用于生成本地受信任的开发证书的简单工具。它不需要配置。

    $ mkcert -install
    Created a new local CA 💥
    The local CA is now installed in the system trust store! ⚡️
    The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊
    
    $ 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"
    
    The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅

    Chrome and Firefox screenshot

    使用来自真实证书颁发机构的证书进行开发可能是危险的或不可能的(对于 example.testlocalhost127.0.0.1 之类的主机),但是自签名的证书会导致信任错误。管理你自己的 CA 是最好的解决方案,但通常涉及晦涩的命令、专门的知识和手动步骤。

    mkcert 在系统根存储中自动创建和安装本地 CA,并生成本地受信任的证书。 mkcert 不会自动将服务器配置为使用证书,不过,这取决于你。

    安装

    警告: mkcert 自动生成的 rootCA-key.pem 文件提供了截获来自计算机的安全请求的完整功能。不要分享它。

    macOS

    在 macOS 上,使用 自制啤酒

    brew install mkcert
    brew install nss # if you use Firefox

    MacPorts

    sudo port selfupdate
    sudo port install mkcert
    sudo port install nss # if you use 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

    然后你可以使用 Linux 上的自制程序 安装

    brew install mkcert

    或者从源代码构建(需要 Go1.13+)

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

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

    对于 Arch Linux 用户,mkcert 在官方的 Arch Linux 上可用库。

    sudo pacman -Syu mkcert

    视窗

    在 Windows 上,使用 巧克力

    choco install mkcert

    或使用 Scoop

    scoop bucket add extras
    scoop install mkcert

    或者从源代码构建(需要 Go1.10+),或者使用 预先构建的二进制文件

    如果遇到权限问题,请尝试以管理员的身份运行 mkcert

    支持的根存储

    mkcert 支持以下根存储:

    • macOS 系统商店
    • Windows 系统商店
    • Linux 变体提供了
      • update-ca-trust(Fedora,RHEL,Centos)或
      • update-ca-certificates(Ubuntu、Debian、openSUSE、SLES)或
      • trust
    • Firefox(仅限于 macOS 和 Linux)
    • Chrome 和铬
    • Java(设置 JAVA_HOME 时)

    要仅将本地根 CA 安装到它们的一个子集中,你可以将 TRUST_STORES 环境变量设置为逗号分隔的列表。选项包括:“系统”、“Java”和“NSS”(包括 Firefox)。

    高级主题

    高级选项

    	-cert-file FILE, -key-file FILE, -p12-file FILE
    	    Customize the output paths.
    
    	-client
    	    Generate a certificate for client authentication.
    
    	-ecdsa
    	    Generate a certificate with an ECDSA key.
    
    	-pkcs12
    	    Generate a ".p12" PKCS #12 file, also know as a ".pfx" file,
    	    containing certificate and key for legacy applications.
    
    	-csr CSR
    	    Generate a certificate based on the supplied CSR. Conflicts with
    	    all other flags and arguments except -install and -cert-file.

    注意:你必须将这些选项放在域名列表之前。

    例子

    mkcert -key-file key.pem -cert-file cert.pem example.com *.example.com

    s/ 哑剧

    mkcert 如果提供的名称之一是电子邮件地址,则自动生成 S/MIME 证书。

    mkcert filippo@example.com

    移动设备

    要使证书在移动设备上受到信任,你必须安装根 CA。这是 rootCA.pem 文件夹中的 mkcert -CAROOT 文件。

    在 iOS 系统上,你可以使用 AirDrop,也可以通过电子邮件将 CA 发送给自己,或者从 HTTP 服务器提供服务。打开后,需要 install the profile in Settings > Profile Downloaded,然后 启用对 IT 的完全信任

    对于 Android,你必须安装 CA,然后在应用程序的开发构建中启用用户根。见 这个 StackOverflow 答案

    在 node.js 中使用 root

    Node 不使用系统根存储,因此它不会自动接受 mkcert 证书。相反,你必须设置 节点 extracerts 环境变量。

    export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem"

    更改 CA 文件的位置

    CA 证书及其密钥存储在用户主页中的应用程序数据文件夹中。你通常不必担心它,因为安装是自动的,但是位置是由 mkcert -CAROOT 打印的。

    如果希望管理单独的 CA,可以使用环境变量 $CAROOT 设置 mkcert 将放置并查找本地 CA 文件的文件夹。

    在其他系统上安装 CA

    在信任存储区中安装不需要 CA 键,因此你可以导出 CA 证书并使用 mkcert 在其他计算机中安装它。

    • mkcert -CAROOT 中查找 rootCA.pem 文件
    • 把它复制到另一台机器上。
    • $CAROOT 设置为其目录
    • 运行 mkcert -install

    请记住, mkcert 用于开发目的,而不是用于生产,因此不应在最终用户的机器上使用,也不应导出或共享 rootCA-key.pem

    项目简介

    当前项目暂无项目简介

    发行版本

    当前项目没有发行版本

    贡献者 1

    D dallascao @dallascao

    开发语言

    反馈
    建议
    客服 返回
    顶部