我们经营一家 SaaS(软件即服务)公司,我们允许多个客户在我们的应用程序内创建“站点”。
这通常会导致客户端拥有一个作为我们主域的子域的站点。例如:someclient.mybusiness.com
我们支持使用 SSL 进行结帐,并拥有单一通配符证书,以便覆盖所有客户(因为他们都在 *.mybusiness.com 上)
我们现在想开始提供自定义域名。在这种情况下,客户仍会将他们的网站命名为 someclient.mybusiness.com,但可以前往托管服务提供商并创建指向 someclient.mybusiness.com 的 CNAME。因此,他们可以使用 buystuff.clientsite.com 指向 someclient.mybusiness.com。
我的问题是,对于那些想要使用自定义域选项的客户端,如何最好地支持 SSL?
我已阅读过有关 SAN 的信息,但我不确定它如何与我们现有的通配符证书配合使用。
我也读过有关 SNI 的文章,但这需要我们的客户购买自己的证书,而我们的营销部门不希望出现这种情况。
任何对此的想法都将不胜感激!
马特
答案1
可信机构签名的 SSL 证书的全部目的是阻止实体 A 在未经实体 B 同意的情况下冒充实体 B[1],您的营销部门将不得不接受这一点。没有一家信誉良好的提供商会在没有其他人大量参与的情况下签署您指定的 CSR,无论是在原则上还是在 SAN 字段中。
我的建议是接受这一点,使用 SNI,并有一个业务流程,你生成密钥对和 CSR,然后将其传递给客户,并附上一些非常精确的分步说明,说明如何让特定的首选提供商签署该 CSR。这并不会强制客户使用该提供商 - 有线索的客户可以让任何有效的提供商签署 CSR - 但它最大限度地减少了没有线索的客户出现复杂情况的可能性。
[1] 准确地说,阻止实体 A 提供 SSL 安全服务,其中证书包含实体 B 的 DNS 空间中的 CN。