我们的服务遍布中国

我们的服务遍布中国
乃至世界

光网所服务的品牌地域与城市
北京 天津 上海 广州 深圳 香港 厦门 江苏 浙江 山东
重庆 长沙 武汉 成都 西安 宁夏 丽江 青海 云南 乌鲁木齐
黑龙江 内蒙古 河北 ...
光网服务与合作的全球各地
美国 加拿大 德国 法国 英国 瑞士 意大利 荷兰
印度 日本 韩国 ...

不论你的品牌在何处
我们都可以提供完善的服务与帮助

致电

0512-56969630
您所在的位置:首页 > SSL证书

以Nginx为例介绍如何使用ECC证书

发布时间:2016/12/30 1:51:35 浏览:39打印字号:

什么是ECC证书?如何使用ECC证书?下文以 Nginx 为例介绍如何使用 ECC 证书?

我之前的文章多次提到 ECC 证书,但一直没有专门介绍 ECC 证书的文章,今天补上。顺便说下,本站已经用上了 ECC 证书。要查看本站主要支持哪些技术特性,可以点这里

有了 RSA/ECC 双证书之后,还需要安装 Nginx 1.11.x。这部分内容我之前详细写过,请点击查看

一切准备妥当后,将证书配置改为双份即可:

1.png

问题来了!本站使用 Cloudflare 提供的 Cipher Suites 配置,在 Nginx 中配置了双证书并重启,用 Chrome 测试发现仍然没有采用 ECC 证书。这是为什么呢?

2.png

研究发现,Chrome 与服务端协商到的 Cipher Suites 是 ECDHE-RSA-AES128-GCM-SHA256,来自于 ssl_ciphers 配置中的 EECDH+AES128 这部分。我们通过 openssl 工具看一下 EECDH+AES128 具体包含哪些 Cipher Suites:

3.png

可以看到,使用 RSA 做为签名认证算法(Au=RSA)的加密套件排到了前面,导致 Nginx 作出了错误判断。

知道原因就好办了,将这段配置改为 EECDH+ECDSA+AES128:EECDH+aRSA+AES128,再看一下:

4.png

这下就没问题了。

并不是所有加密套件都需要把 ECDSA 和 aRSA 分开写,例如 EECDH+CHACHA20 就不需要,ECDSA 默认就在前面:

5.png

最终,我的 Cipher Suites 配置如下,供参考:

6.png

摘自JerryQu: https://imququ.com/post/ecc-certificate.html