【问题标题】:Setting up httpS for multiple domain为多个域设置 httpS
【发布时间】:2012-01-20 23:27:21
【问题描述】:

我需要为多个域名 xxxx.com xxxx.net 设置 https(使用单个通用证书)

我们购买证书的 CA 要求创建证书签名请求 (CSR),但是当我使用 openssl 生成它时 - 它只要求一个名称

如何为多个域制作一份 CSR?

【问题讨论】:

  • 有点谷歌搜索got me this
  • @LinusKleen:这会导致一个包含多个域的证书吗?这甚至可能吗?或者您会获得多个证书(使用相同的私钥)?
  • 有可能,@Thilo。它是一个单一的证书,其主题包含多个 CN。
  • 所有浏览器都这样吗?野外有什么例子吗?
  • @Thilo 是的,例如,my site 有一个。多域证书并不是那么新,并且受到所有主要浏览器的支持。

标签: ssl https openssl csr


【解决方案1】:

避免使用具有多个 CN 的证书(如 cmets 中所建议的那样),这不是规范(RFC 2818RFC 6125)所说的应该工作的方式,虽然它可能在某些客户端应用程序中工作,但通常会失败。来自RFC 2818

如果存在 dNSName 类型的 subjectAltName 扩展,则必须 用作身份。否则,(最具体的)通用名称 必须使用证书的主题字段中的字段。虽然 通用名称的使用是现有的做法,它已被弃用并且 鼓励证书颁发机构改用 dNSName。

相反,生成具有多个主题备用名称 (SAN) 的证书(或 CSR)。

如果您使用的是 OpenSSL,请编辑您的 openssl.cnf(或编辑副本)并在相关部分([req][ v3_req ])中设置这些属性:

[req]
req_extensions = v3_req

[v3_req]
subjectAltName=DNS:www.example1.com,DNS:www.example2.com,DNS:www.example3.com

这里还有一个使用环境变量的好技巧(而不是在配置文件中修复它):http://www.crsr.net/Notes/SSL.html

您可能还希望在 CN 中拥有其中一个(任何)。

(您可能也对this answer感兴趣。)

【讨论】:

  • FTR 如果您使用 XCA,则在创建证书时它位于 Extensions > X509v3 Subject Alternative Name 下。谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-02-13
  • 1970-01-01
  • 2011-01-28
  • 2017-02-07
  • 2017-10-07
  • 2013-07-08
  • 2017-04-20
  • 2015-06-23
相关资源
最近更新 更多