是否可以购买中间证书来签署子域名证书?它必须被浏览器识别,我不能使用通配符证书。
到目前为止搜索没有结果。有没有人签发这样的证书?
答案1
问题是,当前使用的基础设施和实现不支持仅限于某些(子)域的中间证书。实际上,这意味着您可以使用任何中间证书签署您想要的任何证书,并且浏览器会信任它,即使这是您不拥有的域的证书。
因此,无论这意味着什么(但可能涉及大量金钱),此类中级证书只会颁发给真正值得信赖的组织。
答案2
不可以,因为这会违反原始证书 - 浏览器会信任您的证书,您可以开始为 google.com 等发布内容 - 如果您这样做很聪明,那么您就不会那么容易被抓住。
中级证书颁发机构拥有很大的权力。中级 CA 是证书签名机构 - 通过根证书获得信任 - 并且规范中没有任何内容允许限制下级 CA。
因此,没有一个有信誉的证书机构会给你颁发证书。
答案3
可以从 GeoTrust 购买有效的 CA。
我无法在英文页面上找到该产品,但这里有一个存档版本:
要购买 GeoRoot,您必须满足以下最低要求:
- 净资产 500 万美元或以上
- 至少 500 万美元的错误和遗漏保险
- 公司章程(或类似文件)和在职证明
- 书面并维护的证书实践声明 (CPS)
- 符合 FIPS 140-2 Level 2 标准的设备(GeoTrust 已与 SafeNet, Inc. 合作),用于生成密钥并存储根证书密钥
- 获得 Baltimore/Betrusted、Entrust、Microsoft、Netscape 或 RSA 批准的 CA 产品
该产品仍可在其德文页面上购买:
http://www.geotrust.com/de/enterprise-ssl-certificates/georoot/
答案4
(这是对一个老问题的新答案,因为我相信这有助于理解证书和 CA 背后没有“魔法”)
作为@Steffen Ullrich 给出的认可答案的扩展
整个用于识别网站的证书只是一桩大生意。X509 证书的定义(除其他外)是RFC5280任何人都可以成为根 CA 或中级 CA,这完全取决于您对该实体的信任。
例如:如果您在 Active Directory 域中,则您的主域控制器默认是受信任的根证书颁发机构。同时,绝对没有其他第三方参与。
在广阔的互联网上,问题在于确定“你可以信任谁”,因为它远不止一家公司。因此,浏览器供应商提供了一个自定义的根 CA 列表,它会信任这些根 CA,而无需征求你的同意。
即:如果您与 Mozilla 基金会关系很好,那么您自己的任意自签名根 CA 都可以在其 Firefox 浏览器的下一个版本中添加到该列表中……只是因为他们决定这样做!
此外,没有 RFC 定义浏览器应如何对待证书的行为和规则。这是一个隐含的共识,因为证书的“CN”等于域名,所以应该是匹配的。
由于这在某个时候还不够,浏览器供应商都隐含地表示,以下形式的通配符证书*.domain.com
将匹配任何子域。但它只匹配一个级别:不,sub.sub.domain.com
为什么呢?因为他们就是这么决定的。
现在关于您最初的问题,什么会阻止您的主域证书被允许为您自己的子域创建子证书,这对于浏览器来说是一个简单的检查过程,只需获取证书链即可。
答案是:没什么
(除了从技术上讲你应该在自己的域证书中有一个“标志”来执行此操作)
如果浏览器供应商发现这足够方便,他们可能会决定支持它。
但是,回到我的第一句话,这是一笔大生意。因此,那些与浏览器供应商达成协议的少数根 CA 正在花费大量资金来出现在该列表中。而今天,他们收回了这笔钱,因为你必须为每个单独的子域证书付费,或者获得更昂贵的通配符。如果他们允许你创建自己的子域证书,这将极大地削减他们的利润。所以这就是为什么从今天起,你不能这样做。
嗯,你仍然可以,因为它严格来说是有效的 x509 证书,但不是任何浏览器都能识别它。