RFC3647描述了 CPS 和 CP 之间的区别如下:
因此,CP 和 CPS 之间的主要区别可总结如下:
- PKI 使用 CP 来建立要求,说明其中的参与者必须做什么。单个 CA 或组织可以使用 CPS 来披露其如何满足 CP 的要求或如何实施其实践和控制。
- CP 通过交叉认证、单边认证或其他方式促进互操作。因此,它旨在涵盖多个 CA。相比之下,CPS 是单个 CA 或组织的声明。其目的不是促进互操作(因为这样做是 CP 的功能)。
- CPS 通常比 CP 更详细,并指定 CA 如何满足其颁发证书的一个或多个 CP 中规定的要求。
上面的解释中有一句话对我来说很有意义:
单个 CA 或组织可以使用 CPS 来披露其如何满足 CP的要求
如果我理解正确,CP 会设置一般要求(例如,您应该在颁发证书之前验证域所有权),并且 CPS 会提到它在实践中是如何做到的(例如,通过检查 DNS 记录中的令牌)。CP 甚至可能已经以这种做法为例。
因此,由于 CP 和 CPS 主要由同一个 CA 编写,因此将它们分开对我来说毫无意义。如果我在 CP 中提到必须验证所有权并且这可以通过检查 DNS 记录中的令牌来完成,那么 CPS 很可能包含完全相同的信息。我可能能够理解同时拥有 CPS 和 CP 的用途,以防 CA 有不同的根,每个根可能有不同的 CPS,基于相同的 CP。
我将 Let's Encrypt 的CPS与它的CP进行了比较,我发现 CP 更通用一些,并且解决了 CPS 中未解决的一些主题,但反过来也一样。
- 有人可以解释同时拥有 CPS 和 CP 的真正价值是什么,当它们由同一个 CA 编写时,以及在这种情况下只编写 CPS 是否是一种好习惯?
- 不应该有一个全球标准CP,所有CA都可以使用它来作为其CPS的基础吗?