为了测试特定的嵌入式客户端,我需要设置一个 Web 服务器,为几个 SSL(HTTPS)站点提供服务,例如“main.mysite.com”和“alternate.mysite.com”。这些站点应由同一个证书处理,主题名称为“main.mysite.com”,主题备用名称为“alternate.mysite.com”。此证书需要位于指向“适当”CA(例如 GoDaddy,以降低成本)的授权链中。
我的问题是,有没有关于如何执行此操作的好教程,或者有人可以解释这个过程吗?我需要从 CA 提供商处购买哪种父证书?
我对 SSL 证书的了解有限,但正如曼努埃尔在《弗尔蒂旅馆》中所说,“我学习...”。
我很高兴在 Windows(IIS)或 Linux(Apache)(甚至是 OSX)上工作。
答案1
教程在这里:
http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html
http://www.sslshopper.com/article-how-to-configure-ssl-host-headers-in-iis-6.html
您无需担心父证书。只需从受信任的提供商(如 GoDaddy)获取包含所有需要保护的名称的证书,然后按照这些教程设置每个站点以使用该 SSL 证书。
答案2
(以Godaddy为例)
首先,没有必要生成“多域” CSR。您应该只输入主域,就像您只是注册单个 SSL 证书一样。
在 GoDaddy 中,当您输入 CSR 时,下面有一个字段New Subject Alt Name
。他们没有让它特别显眼,但它就在 CSR 文本字段的正下方。您可以在那里添加任何您想要的名字。
如果您不知道所需的所有域名,您可以稍后添加它们,然后重新颁发证书。
您不需要为此创建新的 CSR - 您只需重新颁发证书,然后必须立即通过 IIS 替换它。
我发现一个小问题是尝试添加某些域名时,无法添加。我很确定这是因为该域名由不同的 godaddy 帐户控制 - 但以典型的 godaddy 方式,他们没有给我错误。如果您在域名跨多个帐户时尝试创建 UCC 证书,这可能会带来问题。