我们正在构建一个网站构建器,用户可以设置自己的域名。有没有办法自动为他们的域名启用 SSL?
例如,通配符 letsencrypt 证书不仅适用于 *.example.com,还适用于 *(任何域名)。因此我们不再需要为每个域名构建新证书。
答案1
这是不可能的。如果可能的话,这将彻底破坏证书本应提供的安全保障。
如果你尝试连接到例如www.bankofamerica.com,您需要确保您实际上正在与美国银行服务器通信,而不是 passwordcollector.badguys.com。SSL/TLS 服务器证书通过将域名 (www.bankofamerica.com) 和公钥,TLS 协议使用公钥(以及服务器持有的相应私钥)来表明您正在与正确的服务器对话。
如果你能获得全球通配符证书,你就可以冒充任何互联网上的网站——银行、政府、gmail.com,任何事物. 坏人会爱才能做到这一点,而好人们已经不遗余力地确保这不可能实现。
哦,从技术角度来说:通配符证书*
实际上无法满足您的要求,因为通配符只能匹配域层次结构中的单个级别。也就是说,如果您拥有 的证书*.example.com
,它将适用于www.example.com
和mail.example.com
和whatever.example.com
,但它不适用于 ,www.subdomain.example.com
因为www.subdomain
是两个级别,而通配符仅匹配一个。同样,如果您确实设法获得了 的证书*
,它将适用于com
和net
等(实际上没有人使用),但更不用说example.com
了www.example.com
。
(实际上,您也可以建立自己的证书颁发机构,并从中颁发您想要的任何证书。但是外界没有人会信任他们,因此这不会带来任何有用的效果。)