首页>技术支持>最新数字证书问答 >以Nginx为例介绍如何使用ECC证书

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

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

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

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

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

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

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

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

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

这下就没问题了。

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

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

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