创建 Localhost 证书

本文最后更新于 2019年3月5日 可能会因为没有更新而失效。如已失效或需要修正,请留言!

有时因为开发的需求,需要为本地的网页服务器设置 https 访问。在这里记录一下在 macOS 系统下快速创建自签名证书并设置可信的方法。

Xcode Command Line Tools

基本所有在 macOS 中开发的人应该都已经安装过了命令行工具,在终端中一句命令即可安装。

1
$ xcode-select --install

生成证书

在终端里运行以下命令即可在用户目录里生成证书和秘钥。

1
2
3
4
$ openssl req -x509 -days 3650 -out localhost.crt -keyout localhost.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")

其中 -days 3650 参数是指定证书的有效时间为 3650 天。

设置信任

最后,需要在系统中设置信任,否则直接使用仍会提示不信任。

直接搜索打开“钥匙串访问”,“文件” - “导入项目” - 选择刚生成的 crt 文件。

双击打开刚导入的证书,设置“使用此证书时:始终信任”。

效果如下图。

0%