RSA算法,国际标准算法,应用较早,最为普及,一般采用 2048 位的加密长度,但是对服务端性能消耗高,所以加密速度快,效率更高,更安全,抗攻击型更强ECC算法成为了新一代算法趋势主流
而且ECC算法比RSA算法要短不少,一般认为160位密钥的ECC安全性相当于1024位密钥的RSA,256位相当于3072位,所以更加短小安全的ECC密钥成为我们今天各大网站的首选加密方式
但是一些老旧的 浏览器/系统 不支持ECC证书,为了能够兼容它们,我们还得准备一份 RSA证书 本文证书使用 acme.sh 申请,详细内容请阅览
整一个Let’s Encrypt证书
本文主要介绍nginx的部署过程,apache及其他服务器请自行google
申请证书
1 | #申请RSA证书 |
其中,ECC可选长度有
ec-256 (prime256v1, “ECDSA P-256”)
ec-384 (secp384r1, “ECDSA P-384”)
命令执行完毕后,你会在acme.sh下看见example.com和example.com_ecc文件夹
部署证书
手动进入到example.com和example.com_ecc文件夹,将各自的证书文件复制到服务器调用的证书目录下,或者直接复制过去
1 | cp -r ~/.acme.sh/example.com /data/cert/example.com |
接着,在服务器的配置文件里加上这一段
1 | #Let's Encrypt的 ECC 证书 |
修改ssl_ciphers
,我使用了这么一段
1 | ssl_ciphers "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"; |
如果有需要也可以参考Mozilla提供的
1 | ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS |
接着重启服务器,使用ssllabs检查,你将会发现出现了两张证书,那么这就代表你部署成功了