获取 SSL 证书如何工作?

信息安全 证书 openssl
2021-08-21 20:01:58

我一直在做一些关于SSL证书的工作,发现有些地方会向您收取SSL证书的费用,但是,他们如何获得这样做的权利?而且,如何允许它们出现在浏览器可以识别为真实的“受信任”站点列表中?

3个回答

大型浏览器公司(主要是 Google、Mozilla、Microsoft、Apple 和 Opera)包括他们想要的来自认证机构的任何根证书——没有政府法规或法律来管理它。然而,有一个名为CA/浏览器论坛的自愿机构制定了标准,并且由于上面列出的所有浏览器公司都是成员,因此在实践中,认证机构必须满足这些标准才能获得他们的证书。

为了使证书被接受,客户端信任库中必须有来自根证书的信任链。

通常,根证书不用于直接签署最终实体证书。而是创建“中间证书”。这样做的好处是,如果中间证书被泄露,可以更容易地撤销,但泄露的中间证书仍然是一个非常严重的安全问题,因为撤销是一个脆弱的过程。

要将其根证书包含在主要浏览器的信任库中,CA 必须承诺遵循某些程序并接受审计。不幸的是,审计的用处有限,因为几乎不可能证明根证书或中间证书的私钥副本不存在于审计的基础设施之外。

在浏览器中具有根证书的 CA 还可以向其他实体颁发中间证书,使这些实体本质上是 CA。根证书持有者应该对其下属的行为负责,但几乎不可能证明中间证书的密钥受到良好控制。

最近,浏览器供应商开始对 CA 的活动产生更大的兴趣,特别是他们开始积极寻找互联网上使用的错误颁发的证书。他们还引入了一个称为“证书透明度”的系统,如果强制执行,将要求 CA 在证书被接受为有效之前公开声明证书。

一些销售证书的网站由持有根证书的 CA 运营。有些是由持有中间证书但不持有根证书的组织运行的。许多只是将证书请求传递给前两类组织的经销商。

为了包含在包含主要 Web 浏览器或操作系统供应商(Apple、Microsoft、Mozilla、Linux)的根 CA 引用的“证书商店”中,您必须满足CABBrowser 论坛定义的行业标准。

还要求您的 CA 基础设施符合其他方面的要求,例如流程(如何获得证书、私钥存储在哪里、如何证明请求者的身份等)。为了证明您的合规性,您的 CA 将被审计。传统上,它由四大审计公司之一完成。这一扩展过程不是一次性的过程。您必须定期更新您的认证。

例如,Mozilla 已经定义了以下要包含在其 Web 浏览器中的过程。