我可以在多个网站上使用可信任的CA证书吗?

在运行的多个站点上使用CA证书是否存在任何技术/法律/合同限制?

单机?

多台机器?

还是证书是在每个网站的基础上使用?

您可以在多台机器上拥有证书。 但是,除非所有机器的“站点名称”是相同的(例如,所有服务于一个网站的Web服务器集群),否则用户将遇到不匹配错误,因为证书不符合他们请求的服务器名称。

您可以在具有多个站点的单台机器(例如虚拟主机)上拥有证书, 但是您将遇到与上述相同的问题。

如果您从一台服务器上提供多个“站点”,并希望用户的Web浏览器等感到满意,则需要分配给主机的多个证书多个IP地址。 这是因为它是经过authentication和encryption的连接,在客户告诉你它感兴趣的网站之前发生这种情况。 这是目前SSL协议的限制。 这个限制是在最新的协议中解决的,但并不是所有的东西都支持。

2017年2月更新:

自从问到这个问题以来,技术已经有了相当的进展,我回答了。 通过添加SNI ,SSL协议得到了改进,允许浏览器在证书交换之前连接和请求域。 因此,您现在可以通过单个IP地址的单台服务器拥有多个SSL服务器。 SNI几乎得到了所有浏览器的普遍支持,所以你可以相当有信心,你的网站将被用户访问。 您也可以将多个站点名称合并到一个证书中,使用通配符(例如“* .stackexchange.com”),并使用“证书主题replace名称”,这是在您签出本站点上的SSL证书时stackExchange正在执行的操作。

堆栈交换证书详情

更好的消息是现在我们有了letsencrypt ,如果你只是想要encryption支持而且不需要扩展validation,我们都可以免费获得我们的证书。 并让encryption确实支持alt名称。

我在Verisign上find了一个答案,规定一个证书不能在没有特殊许可证的情况下在多个服务器上使用,这就解决了我的多个问题。

我假设这意味着在多个站点上使用它们没有问题,只要它们都在单个机器上。

这也可能是特定于CA.

您可以使用统一通信证书。 它允许您在证书上添加多个主题备选名称。 您可以在多台服务器上安装此证书以获取多个域名。 你可以有一个证书:

server1.blah.com

server2.blah.com

http://www.blah.com

http://www.notblah.com

它们最初被引入用于Exchange 2007和Communication Server,但可以用于其他服务器。 来自SSL证书供应商的更多信息:

Digicert uc ssl证书页面

委托uc ssl cert页面

也有通配证书,但我对这些知之甚less,也可能为你的目的而工作。