cert-manager 是什么?

1,157 阅读2分钟

什么是 cert-manager ?

cert-manager 是一个在 k8s 上管理证书和证书签发的应用, 还可以自动在过期前更新证书。

支持 Let's EncryptHashiCorp Vault, and Venafi 和私有的 PKI。

cert-manager 架构图

从上图可以看出, cert-manager 需要先注册签发着(Issuers), 会按需(Certificates CRD)分配签发证书给使用者, 每个Certificates 会生成对应的 Secrets 用来保存生成的证书。 使用者挂载该 Secrets 后使用。

Issuers 分为 Issuers 和ClusterIssuers, 作用范围分别是namespace 和整个集群。

Certificates 是用来描述你要请求的证书的信息的。 记录了你要请求那个 Issuer 来使用何种方式签发你要的证书。

根据具体的签名方式, 还会有 Order、challenge 等CRD对象, 用来描述证书签发过程中的中间对象。

自签名PKI是什么 ?

自签名PKI(Public Key Infrastructure)是一种用于建立安全通信的加密技术。与传统的PKI不同,自签名PKI不依赖于第三方机构来颁发数字证书,而是由通信双方自行生成和管理各自的数字证书和私钥。这种方法虽然不需要付费申请证书,并且可以实现相对简单,但是需要更多的安全性保障,例如建立密钥管理和证书撤销机制,以确保通信安全。

自签名 PKI 过程是怎么样的 ?

  1. 生成自签名根证书 首先需要生成一个自签名根证书,这个证书是整个 PKI 系统的根证书,也是信任链的根节点。生成自签名根证书时需要填写以下信息:公钥、私钥、证书的有效期、证书颁发者的信息、证书的主题信息等。

  2. 配置证书链 将自签名根证书和其他证书绑定成证书链,形成信任链。证书链可以通过操作系统的证书存储管理工具来创建和管理。

  3. 生成证书 生成需要的证书,比如网站证书、客户端证书等。这些证书都是基于根证书生成的,可以使用 openssl 工具来生成。

  4. 配置信任链 将证书绑定到证书链上,形成完整的信任链。需要将信任链配置到服务器、客户端等应用程序中,使其能够识别并信任证书。

  5. 部署和管理证书 将证书部署到相应的设备上,并定期更新证书。证书的管理包括续期、吊销和更新证书,确保证书不会过期或失效。

  6. 完成自签名 PKI 部署 完成以上步骤后,自签名 PKI 就可以部署到生产环境中,实现加密通信、身份验证、数字签名等安全功能。密钥管理和证书管理是 PKI 的核心内容,需要加强对其的保护和管理。