我们的组织正计划将HTTPS添加到我们的网站。 由于我们的服务器只有一个IP(这意味着我们只能使用一个证书),所以我们需要一个证书,该证书适用于我们组织中具有不同域名的所有站点。 因此证书不应包含域名。
他们在技术上是否可行?CA是否签名?浏览器如何处理?
您无法获得至less没有指定一个主题原则名称(域)的X.509证书。 没有有用的CA会让你有一个证书,没有一个可以绑定到你可以certificate你拥有的域名的证书。 他们可以在你拥有它的级别通配,所以site1.domain.com,site2.domain.com等都可以,但是site1.domain2.com不会。
另一种方法是使用主题备用名称或SAN [有能力]证书,这些证书可以包含一系列额外的名称(各种types),只要您的证书提供商准备添加即可。 对于您的用例,它们可以是域中特定站点(site1.domain.com,site2.domain.com等)的FQDN,其他域(site1.domain2.com,site1.domain.net)的FQDN。 它们可以用来添加额外的标识符types,具体取决于你想要做什么,包括IP地址,但是我不知道这些附加function实际上得到了多大的支持。 您可以包括的SAN标识符的数量也因证书提供商而异, Verisign允许为19 ,而Digicert则支持最多150 。
从OpenSSL文档 :
主题替代名称扩展允许在configuration文件中包含各种文字值。 这些包括电子邮件(电子邮件地址)URI,统一资源指示符,DNS(DNS域名),RID(注册的ID:OBJECT IDENTIFIER),IP(IP地址),dirName(可分辨的名称)和otherName。
电子邮件选项包含一个特殊的“复制”值。 这将自动包含在扩展名中包含在证书使用者名称中的电子邮件地址。
IP选项中使用的IP地址可以是IPv4或IPv6格式。 … subjectAltName = email:copy,email:my @ other.address,URI: http ://my.url.here/ subjectAltName = IP:192.168.7.1 subjectAltName = IP:13 :: 17 subjectAltName = email:my @ other.address,RID:1.2.3.4 subjectAltName = otherName:1.2.3.4; UTF8:其他一些标识符
SSL证书是由它们的通用名称(CN)绑定的,CN与域名绑定,而不是IP地址。
不幸的是除了要求一堆IP之外别无select。 大多数互联网服务提供商会给你一个额外的4块(2个可用),在商业计划上不需要额外的费用。
是的 – 他们被称为通配符SSL证书,但他们只计算一个域(* .domain.com。)
较新的证书还可以包含证书内的SAN(主题备用名称),我相信您可以跨越域名边界(即www.domain.com和www.domain2.com的一个证书)。
与stream行的观点相反,现在可能在相同的IP地址上有许多具有不同名称的SSL站点, 但是它要求服务器和客户端应用程序都支持SNI(参见http://en.wikipedia.org/wiki/Server_Name_Indication为信息)。
在一些客户端(最值得注意的是IE6和IE7 / 8如果在Windows XP上运行)缺乏支持是不使用SNI的主要原因,但如果这不会显着影响您的用户群,则可能值得考虑。 Firefox自第2版起就支持SNI,IE7和IE8在Vista / 2003/2008/7下支持它(请参阅上文链接的维基百科文章以获取更多客户端支持细节)。
如果您的服务器是基于Windows并通过IIS提供HTTP(S)的另一个问题是缺less对IIS的支持 – 但是您可以通过将lighttp或nginx作为反向代理安装到真实的http守护程序(IIS) 。
对于每个FQDN,您仍然需要一个单独的证书,或者每组名称至less包含一个通配符证书 – 但是这确实会减less您需要分配的IP地址数量,如果这些IP地址是一个GoodThing(tm)您的服务器所在的资源稀less(或其他昂贵)资源。