Chrome 58中的自签名SSL证书

自从“加密”以来,加密的网站现在是标准的。 即使进行本地开发,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证书

背部