我想这不可能,但如果是这样,我想知道原因。
假设我从其中一个官方证书颁发机构获得example.com的SSL证书。我们还说我正在运行a.example.com和b.c.d.example.com,并希望为这些人提供SSL证书。
我可以使用example.com证书自行为a.example.com和b.c.d.example.com颁发证书吗?它们会被用户的浏览器识别吗?如果没有,为什么不呢?
(我猜这不可能是因为它会打破非常有利可图的通配符证书商业模式,不是吗?)
澄清:我不能使用我获得官方证书的密钥对作为“自签名”证书颁发机构,只需在验证链中添加我的官方证书?
答案 0 :(得分:3)
您不能使用您的证书颁发其他证书,因为目的 证书在您的证书中编码,“证书颁发机构”当然不包含在该证书中。
Web浏览器检查从您的证书开始的“证书链”,用于签名的证书,该证书的签名者等。
您的证书必须与当前用例(主要是“识别网站”)相匹配,并且所有签名证书必须包含“证书颁发机构”标志。浏览器必须知道最后一个证书(root证书)。
正如您已经猜到的,通配符证书可能会对您的情况有所帮助。
答案 1 :(得分:1)
你是对的,你不能从certificate
颁发证书。您需要Certificate Authority来颁发证书。
证书颁发机构的重点是他们是值得信赖的第三方。大多数浏览器默认情况下CA都像Verisign一样受信任,因此您无需手动接受来自它们的证书。它们具有所谓的受信任的根证书。
如果您创建自己的证书颁发机构并开始提供证书,那么Web浏览器将不会了解您并且不会信任您。将提示用户。