这个问题我看了很多文章,有的改浏览器配置,有的修改系统钥匙串等等。反正在我的Mac Book Pro14上没有解决问题。经过这段时间有一阵没有一阵的了解,大概找到了根本原因
MacOS Chrome 拒绝自签名证书,原因是自签名证书一般没有中间证书,也就是不具备证书链。网上大多教程都是告诉用户从创建根证书、证书请求、签名最终证书的一整套简要流程,高级一点的可能要求配置OpenSSL Config。
我把我机器的情况简要概述下:
- OS:macOS Monterey 12.3.1
- CPU:Apple M1 Pro
- Chrome:100.0.4951.41(arm64)
本文不使用命令行方式,主要利用了一个国外软件XCA完成证书链的建设。下载地址如下:
第一步:新建数据库
第二步:新建模板
这里面实际上要建立三个模板,当然也可以两个。分别是RootCa、CenterCa、Server
选择默认的CA模板CA模板配置:基础部分修改
扩展部分配置:
密钥用法配置:
本着搞不懂就全拉上的原则,请全选。反正根证书。省的以后再折腾Netscape扩展配置:
同上,管他三七二十一,全选。
然后,OK生成配置。
第三步:创建中间证书模板,流程同上第二步。(不想打字,请海涵!)
第四步:创建最终证书模板
主体配置:
commonName 就不要填了,后面还得删。挺麻烦的
扩展配置:
建议是2年,因为Chrome 对超过三年的最终证书有歧视,会有报错不安全。
密钥用法:不用改
NetScape扩展:
OK,这一步就搞定了。
创建证书环节-根证书部分
第一步:创建证书
选择完模板后,选择应用模板所有信息。
第二步:主体部分配置修改
修改内部名称:RootCa
点击右下角生成新秘钥,直接点创建
第三步:直接点OK生成证书
创建证书环节-中间证书部分
第一步:创建证书
签名这里就得选择刚刚的根证书,然后选择模板并应用模板所有信息第二步:主体部分配置修改
修改内部名称:CenterCa
点击右下角生成新秘钥,直接点创建第三步:扩展部分配置修改
我这里是把路径长度给删了,反正也没啥问题。
点击OK 生成中间证书,结果如下:
创建证书环节-最终证书部分
第一步:右键点击中间证书,创建
注意选择模板和签名证书是中间证书而不是根证书!!!!第二步:主体部分配置
第三步:扩展部分配置
第四步:点击OK!生成证书
完成应用服务
所有证书私钥都可以在菜单页中找到并导出:
证书的导出也是在菜单页中右键导出即可。一般SSL服务器建议使用证书链PEM导出上传。
导入操作系统根证书【MAC/WINDOWS】
由于这篇文章我是在Windows工作站上写得,我就懒得截图了,简单描述下
MAC系统把钥匙串打开,解锁系统,然后把RootCa证书导入进去并全部信任。重启浏览器即可不在有红色的不安全提示!
Windows双击CRT文件,直接把它导入到受信任的根证书机构。重启浏览器即可。