首页 > 解决方案 > 将现有 CA 插入 Istio 时的 CSR

问题描述

我正在查看“将现有 CA 插入”到我的 Istio 环境中,如此处所述:

https://istio.io/pt-br/docs/tasks/security/citadel-config/plugin-ca-cert/

我可以看到以下命令允许您将密钥、证书和链存储到 Kubernetes 机密,但是它似乎没有提供创建 CSR 的选项。显然,这还涉及首先生成私钥。

这是正确的,还是可以选择这样做?

$ kubectl create secret generic cacerts -n istio-system --from-file=samples/certs/ca-cert.pem \
    --from-file=samples/certs/ca-key.pem --from-file=samples/certs/root-cert.pem \
    --from-file=samples/certs/cert-chain.pem

标签: istio

解决方案


您列出的命令允许您secret在 Kubernetes 中为CA证书、密钥、链等创建一个对象。部署和服务可以使用这些对象以供使用。因此,文档中的假设是您已经有一个可供使用的证书。

我建议遵循整个 istio SDS 安全网关配置指南


要生成私钥并CSR使用OpenSSL以下istio文档指南:

对于此任务,您可以使用您喜欢的工具来生成证书和密钥。以下命令使用 openssl 创建根证书和私钥来为您的服务签署证书:

$ openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=example Inc./CN=example.com' -keyout example.com.key -out example.com.crt

为 httpbin.example.com 创建证书和私钥:

$ openssl req -out httpbin.example.com.csr -newkey rsa:2048 -nodes -keyout httpbin.example.com.key -subj "/CN=httpbin.example.com/O=httpbin organization"
$ openssl x509 -req -days 365 -CA example.com.crt -CAkey example.com.key -set_serial 0 -in httpbin.example.com.csr -out httpbin.example.com.crt

来自 istio 文档的其他信息: https ://istio.io/docs/concepts/security/#pki

希望能帮助到你。


推荐阅读