ssl - 自己为域的子域颁发 SSL 证书 我有一个 SSL 证书

标签 ssl openssl certificate ssl-certificate

我想这是不可能的,但如果是这样,我想知道为什么。

假设我从附近的官方证书颁发机构之一获得了 example.com 的 SSL 证书。假设我正在运行 a.example.com 和 b.c.d.example.com,并且也希望为它们提供 SSL 证书。

我可以使用example.com证书自己为a.example.com和b.c.d.example.com颁发证书吗?它们会被用户的浏览器识别吗?如果不是,为什么不呢?

(我猜它不能完成是因为它会打破非常有利可图的通配符证书商业模式,不是吗?)

澄清:我不能使用我获得官方证书的 key 对充当“自签名”证书颁发机构,并简单地将我的官方证书添加到验证链中吗?

最佳答案

您不能使用您的证书颁发其他证书,因为 证书编码在您的证书中,“证书颁发机构”肯定不包含在该列表中。

Web 浏览器检查从您的证书开始的“证书链”、用于签署它的证书、该证书的签署者等。

您的证书必须符合当前用例(主要是“识别网站”),并且所有签名证书都必须包含“证书颁发机构”标志。浏览器必须知道最后一个证书(根证书)。

正如您已经猜到的那样,通配符证书可能对您的情况有所帮助。

关于ssl - 自己为域的子域颁发 SSL 证书 我有一个 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787452/

相关文章:

c# - 如何验证 RemoteCertificateValidationCallback 中的链?

android - 证书异常 - OpenSSLX509CertificateFactory$ParsingException

c# - ServicePointManager.ServerCertificateValidationCallback 的目的是什么?

node.js - 从 nodejs 调用 https - 将数字 cer 文件放在哪里?

ssl - 如何制定 SSL 证书请求以授予证书颁发机构能力?

c# - IIS/ASP.NET - 部署代码中的无限重定向

Docker TLS - 如何在本地机器上创建 key

Java Runtime.getRuntime().exec 和垂直条

ssl - Windows 7 上的 MeteorJS : error: self signed certificate in certificate chain

python - 使用加密的 PEM 客户端证书调用 REST api