我想在我的域中拥有带 SSL 的子域。主要区别在于每个子域由不同的人托管,并且具有不同的公钥/私钥对。
让我举一个例子来说明:
- 用户发送他的公钥并向 foo.com 请求子域名
- 添加用户并为其分配子域名 bar (bar.foo.com)。存储用户公钥以供将来针对 bar.foo.com 进行验证。
- 用户访问 bar.foo.com 并看到已验证的 SSL 连接。
据我所知,这意味着我需要创建一个 CA,这没问题。问题是,据我所知,CA 需要一种特殊的 SSL 证书。我该如何获取它?
答案1
鉴于你对我上述评论的回答,我同意 Ladadadada 的观点。创建 CA 很容易,但是让其他人相信它很难:要么您需要将您的 CA 根证书分发给他们每个人(您无法做到这一点,因为您已经确认他们是随机最终用户),要么您需要让浏览器制造商将其包含在他们的标准可信包中(祝你好运)。
由于您不想仅仅告诉每个子域所有者自己执行此操作,我看到的唯一剩下的选择就是让每个子域所有者生成一个 CSR,然后您充当中央清算所,将每个 CSR 提交给认证机构。
许多大型 SSL 证书机构都有一项政策,即您需要经过一次性的漫长过程来确立自己的权威性(例如)example.com
,但是一旦完成,您在内部提出的任何申请example.com
显然都会非常快地通过。
我不使用 Verisign(或现在的 Symantec),即使我用过,也不会在这里推荐它们;我链接到它们只是为了让你看到这种安排的一个例子:赛门铁克门户网站助您成为域名权威(“主要功能”包括“在预先批准的域名上即时颁发证书”)。如果您决定采用这种方式,您应该货比三家,选择适合您的 SSL 证书颁发机构。
答案2
您可以通过两种方式实现此目的,但都不需要成为 CA。(我想成为 CA 也是一个可行的选择,但它并不能帮助您解决问题,而且还会增加费用和风险。)
- 获取通配符证书并将其和相关的私钥分发给托管您网站所有子域的所有人。
- 让每个托管子域名的人都获得自己的证书,仅用于他们的子域名。这些证书可能很便宜,甚至是免费的。
选项 1. 存在将您的私钥分发给许多人的明显风险。如果泄露,您将需要让您的 CA 发出撤销证书的通知,这通常需要花钱。选项 2. 意味着每次创建子域时都要经历获取新证书的过程。这不会很快,但应该在几个小时左右。