根据客户端能力指定 SHA-1 或 SHA-2 证书

Jer*_*nch 6 ssl nginx tls

随着 SHA1 证书被主要浏览器弃用,获得 SHA2 签名证书似乎是明智之举。但是这样做您将锁定 IE6 用户。虽然对于大多数人来说,这在某些情况下不会成为问题,但它可能会锁定重要用户。

查看SSL 握手,客户端发送其支持的详细信息。

因此,理论上服务器可以发送客户端将支持的证书。较新的浏览器会得到一个 SHA2 签名的和较旧的 SHA1。

但是,看起来没有任何方法可以使用 nginx 配置来做到这一点。虽然您可以设置密码和协议的版本,但您无法通过任何逻辑来确定如何处理不同的客户端配置。

有没有一种方法可以根据客户端支持的内容来提供不同的证书?

Moh*_*fez 1

目前,这对于 nginx 来说是不可能的(尽管对于 apache 来说是可行的)。然而,像 CloudFlare 这样的公司似乎已经实现了自己的 nginx 内部修改,以便能够做到这一点,并希望将他们的工作开源(https://news.ycombinator.com/item?id=8276770),所以我希望/期待 nginx 在一年内具备这种能力,随着 2016 年的临近,需求变得更加紧迫。

与此同时,我刚刚购买了一个 1 年期证书,该证书将于 2015 年末到期,因此我不会受到 Chrome 警告的影响,直到希望有这样的功能出现。

  • 我自己从未这样做过,但这里有一篇博客文章详细介绍了如何操作:http://blog.ivanristic.com/downloads/bulletproof-ssl-and-tls_configuring-multiple-keys.pdf (2认同)