如何为网站配置双证书(RSA、ECC)

介绍

在通讯过程中,HTTPS 借助 TLS/SLL 和证书机制确保了通讯数据的保密性、真实性、完整性。TSL/SSL 在加密过程中需要用到对称内容加密和非对称密钥交换两种算法。

常见的非对称密钥交换算法有基于整数因式分解问题的RSA和基于椭圆曲线离散对数问题(ECDLP)的ECDHE两种。ECDHE 和 RSA 相比,前者密钥长度更短,计算速度高,耗费的资源更少,且支持PFS(Perfect Forward Secrecy);但并不是所有浏览器都支持 ECDHE,也就是 ECC 证书在兼容性方面不如 RSA 证书。

Android 需要 Android 4+ 才支持

Nginx 1.11.0 开始会根据 CipherSuite 返回不同的证书,如果支持 ECDSA,则发送 ECC 证书给浏览器;如果不支持,则发送 RSA 证书。

考虑到网站的更好的体验,为了尝试 ECC 证书,将 Nginx 升级到最新版,准备开启双证书之旅。

配置 Nginx

修改 Nginx 配置文件,添加 ECC 证书路径并调整 Ciphers,最后重启 Nginx。

ssl_prefer_server_ciphers   on;
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;

# RSA Certificate
ssl_certificate             /home/ssl/server.crt;
ssl_certificate_key         /home/ssl/server.key;
# ECC Certificate
ssl_certificate             /home/ssl/server.ecc.cer;
ssl_certificate_key         /home/ssl/server.ecc.key;


以上配置根据网站具体情况配置

证书检测

可以使用MYSSL进行检测

人已赞赏
技术分享

关于SSL证书之证书链

2020-8-31 12:45:41

技术分享

DNS域名解析TTL是什么?TTL值设置多少合适?

2020-8-31 13:49:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索