在多个运行在同一台计算机上的站点上使用 CA 证书是否存在技术/法律/合同限制?
单机?
多台机器?
或者证书是否要在每个站点上使用?
答案1
您可以在多台机器上拥有一个证书。但除非所有机器的“站点名称”都相同(例如,一组 Web 服务器都为一个网站提供服务),否则您的用户将收到不匹配错误,因为证书与他们请求的服务器名称不匹配。
您可以在一台机器上拥有多个站点(例如虚拟主机)的证书但您将会遇到与上述同样的问题。
如果你从一台服务器为多个“网站”提供服务,并且希望用户的 Web 浏览器等能够顺利运行,那么你将需要多个证书和分配给主机的多个 IP 地址。这是因为连接是经过认证和加密的,而且这在客户端告诉您它感兴趣的站点之前就发生了。这是当前 SSL 协议的限制。最新协议解决了此限制,但并非所有协议都支持这一点。
2017 年 2 月更新:
自从提出这个问题以来,技术已经取得了相当大的进步,我回答了这个问题。 SSL 协议已经得到改进,增加了信噪比允许浏览器连接并请求域名前证书交换。因此您能现在,您可以从单个服务器使用单个 IP 地址为多个网站提供 SSL 服务。几乎所有浏览器都支持 SNI,因此您可以确信您的网站将可供用户访问。您还可以使用通配符(例如“*.stackexchange.com”)将多个站点名称组合成一个证书,并使用“证书主题备用名称”,如果您签出此站点上的 SSL 证书,stackexchange 就会这样做。
更好的消息是,现在我们有letsencrypt如果您只需要加密支持而不需要扩展验证,我们都可以免费获得证书。而且 lets encrypt 确实支持 alt 名称。
答案2
我在 Verisign 上找到了答案这里规定单个证书不能在没有特殊许可证的情况下在多台服务器上使用,这回答了我的问题多种的问题。
我认为这意味着只要它们都在一台机器上,在多个站点上使用它就没有问题。
这可能也是 CA 所特有的。
答案3
您可以使用统一通信证书。它允许您在证书上添加多个主题备用名称。您可以在多个服务器上为多个域名安装此证书。您可以为以下服务器安装一个证书:
服务器1.blah.com
server2.blah.com
www.blah.com
www.notblah.com
它们最初是为 Exchange 2007 和 Communication Server 引入的,但也可以用于其他服务器。来自 SSL 证书供应商的更多信息:
还有通配符证书,但我对这些证书了解较少,它们也可能适合您的目的。