2011-12-15 69 views
5

我需要安装HTTPS多个domians xxxx.com xxxx.net(单普通证书),我们购买证书建立HTTPS进行多域

CA要求创建证书签名请求(CSR),但是当我使用openssl生成它 - 它仅询问一个名称

如何为多个域创建一个CSR?

+1

一个小Googling [让我这个(https://certificates.heanet.ie/node/17)。 – 2011-12-15 08:36:24

+0

@LinusKleen:这会导致一个证书中包含多个域吗?这甚至有可能吗?或者你会得到多个证书(使用相同的私钥)? – Thilo 2011-12-15 08:43:47

回答

12

避免具有多个CN的证书(如评论中所建议的那样),这并不是说规范(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中拥有其中的一个(any)。

(您还可能有兴趣在this answer。)