页面载入中,请稍后...

点我安装PWA
您已拒绝通知
    广告广告

    【Nginx部署ECC+RSA双SSL证书】

    qaq卟言2023-07-29 02:42:03 SSLNginx
    小人奔跑效果开始
    • 为何会出现ECC证书?原因在于基于ECC算法签发的证书相对RSA证书资源占用更少
    • 且安全性更高,不过在兼容性方面RSA证书更优于ECC证书
    • RSA算法过于庞大,不适合在移动端运行,采用RSA算法的SSL证书,虽然已经开始应用于移动互联网
    • 为了确保兼容性的同时降低服务器资源占用,我们可以在服务器中同时部署ECC+RSA双证书
    • 但由于移动设备加解密计算能力有限,内存和联网带宽也有限,在移动端运行2048RSA算法仍是一个较大的挑战
    • 特别是在用户的移动网络差时几乎无法完成证书公钥的下载与证书链验证
    • ECC的密钥长度远比RSA短。ECC密钥长度只有256
    • RSA密钥长度的十二分之一,却能实现与RSA同等的加密强度
    • 而且ECC算法加解密速度更快,存储空间占用更小,带宽要求更低,其短小精悍的特点,尤其适用于移动互联网环境
    • 另外,目前国内多家主流的CDN提供商都还没有支持ECC+RSA双证书的部署
    • 所以暂时无法在CDN上部署双证书
    • 环境
    • Nginx 1.11.0+
      OpenSSL 1.0.2+
    • 签发证书
    • 目前廉价或免费的ECC证书解决方案
    • Comodo的低端证书(四级证书链接,略长
    • Let’s Encrypt的免费证书(90天签发一次,签发略复杂
    • 工具申请证书
    • 可以使用acme.sh这个工具来申请证书,这样子配置稍微轻松一点
    • 这是一个试例
    • acme.sh --issue --dns dns_cx -d 域名.com -d www.域名.com -k ec-256
    • 手动申请证书
    • 可能是我比较折腾,我直接手动申请Let’s Encrypt的免费证书😛
    • 首先在你的证书目录下创建两个文件pemkey文件
    • Nginx部署ECC+RSA双SSL证书1.png
    • 加密算法使用ECC
    • Nginx部署ECC+RSA双SSL证书2.png
    • 然后提交,等出现待验证
    • Nginx部署ECC+RSA双SSL证书3.png
    • 我这里使用DNS验证
    • Nginx部署ECC+RSA双SSL证书4.png
    • 前往自己域名服务商的域名控制台
    • 填写上面的值
    • Nginx部署ECC+RSA双SSL证书5.png
    • 再回来点击验证全部
    • Nginx部署ECC+RSA双SSL证书6.png
    • 这个等待有那么一点点久的
    • 出现待生成就可以了
    • Nginx部署ECC+RSA双SSL证书7.png
    • 下载压缩包
    • Nginx部署ECC+RSA双SSL证书8.png
    • 查看里面的内容
    • fullchain.crtpemprivate.pemkey
    • 不要搞反了
    • 复制里面的内容到上面相应的文件内
    • Nginx配置
    • 在里面加入
    • ssl_certificate    /www/server/stie_ssl/mhjd.qaqbuyan.com/mhjd.qaqbuyan.com.ecc.pem;
      ssl_certificate_key    /www/server/stie_ssl/mhjd.qaqbuyan.com/mhjd.qaqbuyan.com.ecc.key;
    • 路径自己改成自己创建的证书位置
    • Nginx部署ECC+RSA双SSL证书9.png
    • 此时由于双证书,浏览器无法区分不同的加密算法使用的配套加密协议该使用哪个证书
    • 因此重点在于算法的区分,不同的算法对应不同是证书,需要配置ssl_ciphers
    • 这是我的
    • 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:!MD5;
    • Nginx部署ECC+RSA双SSL证书10.png
    • 现在重启Nginx
    • 验证部署前往myssl.com中查看
    • 两个都显示可信就到此结束了
    • Nginx部署ECC+RSA双SSL证书11.png
    • Nginx部署ECC+RSA双SSL证书12.png
    • 证书到期提醒
    • 上面说了Let’s Encrypt的免费证书90天要重新签发一次,那么可以在下载的时候设置到期提醒
    • Nginx部署ECC+RSA双SSL证书13.png
    完结

    🔖本文来源:qaq卟言的个人博客网站声明如损害你的权益请联系我们

    ©️版权声明:本文为【qaq卟言】原创文章,写作不易,转载请您添加本文链接,谢谢您的合作!

    📜著作协议:《知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

    ⚠️部分文章图片来自网络,可能存在版权问题。如发现相关争议请联系qaq卟言处理!

    🔗

    广告广告

    随机文章

    该文章已经关闭评论,评论请前往留言信箱