如何为多个子域创建SSL证书?


20

我正在运行服务器“ myserver.net”,该服务器具有子域“ a.myserver.net”和“ b.myserver.net”。

创建(自签名)SSL证书时,我必须为每个包含FQDN的子域创建一个证书,即使这些子域只是虚拟主机。

OpenSSL仅允许使用一个“公用名”,这是所讨论的域。是否有可能创建对域的所有子域均有效的证书?

Answers:


27

是的,使用* .myserver.net作为通用名称。

这称为通配符证书,并且使用此关键字可以找到大量的howto。

这是其中之一:https : //web.archive.org/web/20140228063914/http : //www.justinsamuel.com/2006/03/11/howto-create-a-self-signed-wildcard-ssl-证书

更新:如果您还希望证书也匹配根域(myserver.net),则应使用“使用者备用名称”扩展名。使用openssh生成证书时,输入“ * .myserver.net / CN = myserver.net”作为公用名。

兼容性足够好,除非您使用的是旧版浏览器。


可以,但是证书对根域(“ myserver.net”)还是对所有子域都有效?
polemon 2011年

1
否,但是您可以添加使用者备用名称:使用“ * .myserver.net / CN = myserver.net”作为common.name。在这里看到:artins.org/ben/...这里:digicert.com/subject-alternative-name-compatibility.htm
RVS

链接已死。你可以更新吗?
allprog '16

1

与FYI一样,还有另一种证书,也称为统一通信证书。只能颁发通配符,*.domain.com但是UCC证书允许您在任何域下最多列出100个完全合格域名(FQDN)。获得其中之一的主要原因是,微软对诸如MS Domain控制器,Exchange等之类的东西不太热衷于通配符。

https://www.godaddy.com/help/what-is-a-multiple-domain-ucc-ssl-certificate-3908

统一通信证书(UCC)是SSL证书,用于保护域名中的多个域名和多个主机名。通过UCC,您可以在一个证书中保护主域名和最多99个其他主题备用名称(SAN)。UCC非常适合Microsoft®Exchange Server 2007,Exchange Server 2010和MicrosoftLive®Communications Server。

UCC与共享主机兼容。但是,站点印章和证书的“颁发给”信息将仅列出主域名。请注意,证书中还将列出所有辅助托管帐户,因此,如果您不希望站点显示为彼此“连接”,则不应使用这种类型的证书。

UCC的主要缺点是您必须预先列出所有域(通配符不需要这样做)。如果列表更改,则必须获得新证书。顺便说一句,Namecheap(我只知道做到这一点)提供了扩展验证UCC(您按域付费,这意味着100个域证书非常昂贵),这是拥有多个域的EV证书的唯一方法,因为没有人提供EV通配符。


-1

这是一个有效的问题。不幸的是,据我所知,协议从未打算让域所有者仅对子域签名证书。

您或者什么都不是CA。一旦成为CA,范围就没有限制。

愚蠢的,但事实就是如此。只需为您拥有的每个域名购买一个单独的证书,即每个域名都正确,因此不必费心尝试保护所出售的嵌入式设备。


2
不,这是错误的。首先,在此处查看其他答案,其次,阅读有关证书颁发机构实际内容的信息。我只有内部域的CA。CA非常有范围限制。
HopelessN00b 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.