Chrome 58中的自签名SSL证书

Let's Encrypt 出现以来,加密网站已成为标准做法。SSL 证书在本地开发中也几乎不可或缺(例如, navigator.geolocation需要在本地进行 SSL 加密)。自 Chrome 58 版本起,已不再支持 CN(通用名称),SAN(主题备用名称)成为强制性要求。因此,Chrome 不再接受任何使用传统方法创建的 SSL 证书。


Chrome 58中的自签名SSL证书

虽然您可以使用ZeroSSL等在线工具创建证书,或者通过启动参数(例如 `--ignore-certificate-errors`)或标志 `chrome://flags/#allow-insecure-localhost`)配置 Chrome 在没有有效证书的情况下运行,但我们希望使用 OpenSSL 创建包含 SAN 且 Chrome 完全接受的本地自签名证书。以下一行命令即可完成所有必要操作(只需将 `www.tld.local` 替换为所需的域名即可)。:

61b7be9883ad31712c52a59252a4c9c4

不幸的是,由于OpenSSL没有直接用于指定SAN的参数,因此会首先创建一个配置文件,然后使用它调用OpenSSL,然后删除该文件。 Windows用户可以借助Cygwin (和bash -c“ ...”)或新的WSL轻松地执行此命令。 例如,可以在MAMP中选择两个结果文件www.tld.local.key和www.tld.local.cert。:

Chrome 58中的自签名SSL证书

Windows用户然后在“受信任的根证书颁发机构”的“管理用户证书”(certmgr)下加载:

Chrome 58中的自签名SSL证书

最后,重新启动Chrome(chrome://重新启动)并享受绿色锁定:

Chrome 58中的自签名SSL证书

背部