本站启用SSL双证书已经有很久了,但前几天去SSL Labs上测试,发现只有B级了。。。
原因也很简单,使用的一些加密方式有点儿不靠谱了,所以在Key Exchange上扣了分。。。
修复后一并写一写双证书的方法。
 
分两种情况
 
1、若你的OpenSSL和我一样是1.0.2以前的:
将ECC证书和RSA证书的证书链合并,ECC在前,RSA在后。(如果和我一样是同一个中间证书颁发的ECC/RSA两张证书,则只需放一次那张中间证书)
接下来修改Apache的配置文件了,

#将ECC证书放在前
SSLCertificateFile /path/to/ecc.crt
SSLCertificateKeyFile /path/to/ecc.key
#将RSA证书放在后
SSLCertificateFile /path/to/rsa.crt
SSLCertificateKeyFile /path/to/rsa.crt
#ECC/RSA合并后的证书链放最后
SSLcertificateChainFile /path/to/ca.crt

 
2、如果你的OpenSSL为1.0.2以及更新的版本
将证书链与证书合并

#将ECC证书及证书链放在前
SSLCertificateFile /path/to/ecc.crt
SSLCertificateKeyFile /path/to/ecc.key
#将RSA证书及证书链放在后
SSLCertificateFile /path/to/rsa.crt
SSLCertificateKeyFile /path/to/rsa.crt

 
当然还没完,还要选加密方法呢,这步很重要,是双证书能否正常发挥作用和得分的关键。

#为了安全起见,关闭SSLv2/SSLv3
SSLProtocol All -SSLv2 -SSLv3
#启用加密方法首选项
SSLHonorCipherOrder On
#以下是本站目前使用的,也建议大家使用。
SSLCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5

 
可以在https://cryptoreport.websecurity.symantec.com/checker/views/certCheck.jsp检测是否成功开启。
 
另:也可以在SSL Labs上看看得了几分。
我的A又回来啦。。。(不要问我为什么不弄A+,因为不想用HSTS什么的。。。
Update:后来还是弄成A+了。。。