最近我在用WindowsXP上最后一个版本的“Google Chrome 49”浏览器访问google时,报一个“您的连接不是私密连接”的错误,导致这个故障的原因是google启用了最新的https证书,而WindowsXP上的CA根证书没有更新,所以无法识别google的新证书。幸运的是这次google只是换了张证书,并没有启用新的算法不然就没发解决了。
解决方法很简单,升级系统或者安装新的根证书,安装一个根证书还是比较简单的,我在google上找到了证书链,然后提取出来需要的根证书,安装到xp就可以了。
这个是google关于证书迁移的帮助文档,里面有证书文件
https://developers.google.com/maps/root-ca-faq
证书文件下载地址
https://pki.goog/roots.pem
证书提取
Google建议安装roots.pem中的所有证书,可我没有那么做,我只是把需要的根证书提取出来安装到xp问题就解决了。提取方法是用文本编辑器打开roots.pem文件,查找“GlobalSign Root CA – R2”找到后,把找到关键子所处位置的整段代码,复制出来保存到新的文件,重命名为“GlobalSign Root CA – R2.crt”,注意文件的后缀,然后双击导入根证书即可。
根证书导入
双击刚才我们导出的根证书文件。选择“安装证书”进入安装导向,单击下一步,单击“将所有的证书放入下列存储区”,单击浏览选择“受信任的根证书颁发机构”点击确定,单击下一步,然后点击完成,这时会弹出一个对话框点击确定即可。
收尾工作
清理浏览器缓存,刷新一下页面应该就不会报错了。如果还不行就查看证书是否安装正确,在开始菜单中点击运行,输入“certmgr.msc”确定,这样可以打开XP的证书管理器,在里面看一下证书是否安装上了。
只要证书安装正确就应该没问题。也许有人觉得现在没有必要纠缠这个问题了,但是我觉得还有很多人像我一样在坚守XP。