从2013年开始,我的博客就开始使用StartSSL的免费SSL证书,尽管是Class1级别的,但对于个人博客还是很够用的。
最近为另一个域名续期(重新申请)SSL证书时,却发现了一些问题。我按照网上的教程申请了SSL证书,并添加了中间证书,但在Chrome 41下显示证书存在问题:
这是为什么呢?
经过查询得知,由于SHA1本身的安全问题,Chrome决定在版本39后逐渐的降低SHA1的“地位”。
因此如果要申请失效时间晚于2016年06月的SSL证书,必须要使用SHA2作为签名算法。StartSSL的默认选项也是SHA2算法。但是我检查了一下新申请的证书,有效期为2016年03月,并没有达到过期标准,那为什么Chrome还是提示有问题呢?
原来,不仅是网站的实体证书需要为SHA2签名,证书链(也叫证书路径)上的中间证书也需要为SHA2加密的。
在Chrome浏览器中点击“证书信息”中的“证书路径”选项卡,可以看到当前网站的证书路径,例如对于StartSSL的Class1证书,中间证书为“StartCom Class 1 Primary Intermediate Server CA”。
点击“查看证书”,选择“详细信息”选项卡,可以看到证书的签名算法为“ sha1RSA”,签名哈希算法为“sha1”。正是因此,才会提示错误的。
为了解决这个问题,需要用新的SHA2证书替换掉原有的SHA1中间证书。从这个网址下载新的中间证书:https://www.startssl.com/certs/class1/sha2/pem/sub.class1.server.sha2.ca.pem并替换掉原本的证书。方法为用纯文本编辑器打开原有(或新生成的).crt证书文件,删除原有中间证书(新生成的请忽略这一步),再将sub.class1.server.sha2.ca.pem文件中的内容添加到原有内容后即可。
替换完成后再查看效果如下:
SHA256为SHA2的一种。
Chrome也不再提示错误了:
对于其他证书供应商,可以参见SHAAAAAAAAAAAAA这个网站进行修改。
我是14年底用上startcom的证书的,默认的就是你说的这个。现在用起来正常的。
现在默认下载的就是SHA2证书了,我是因为一直用老的证书才出现问题的。而且中间证书不对这个问题比较隐蔽,费了不少功夫才搞明白。
我想问个这个主题怎么设置首页文章可以显示阅读全文。我用的时候整篇文章都显示出来了。
我是手动在文章中添加more标签实现的