ssl - 入口 TLS secret 是否需要 __INGRESS_SECRET__ 的 SSL 私钥?

标签 ssl kubernetes

我正在努力

kubectl create secret tls foo-secret --key/tls.key --cert/tls.crt

来 self 使用过的 LetsEncrypt 制作的 key 和证书。这个过程对自签名证书有意义,但 LetsEncrypt 制作的文件看起来像这样:

cert.pem
chain.pem
fullchain.pem
privkey.pem

我可以转换那些 pem 文件,我不知道 --key 想要公钥还是私钥,这里唯一的选择是 privkey.pem。我假设证书是证书。

我可以将 private.pem 转换为:

openssl rsa -outform der -in privkey.pem -out private.key

cert.pem 有:

openssl x509 -outform der -in cert.pem -out cert.crt

这是正确的过程吗?因为我会将这个 secret 用于 ingress oauth代替 __INGRESS_SECRET__,这个入口是否应该有私钥?此入口充当其他事物的 TLS 终结器。

最佳答案

你是对的,你需要为 tls.key 部分提供你的私钥。然而,使用 cert-manager 自动执行 letsencrypt 证书生成过程是一个很好的做法。 .看看这个 tutorial . Dong so 会自动在集群上为你创建 tls secret 资源。

您的 tls.key 文件是私钥,其开头和结尾如下所示:

-----BEGIN RSA PRIVATE KEY-----

    ... [your private key]

-----END RSA PRIVATE KEY-----

而您的 tls.crt 将是 cert.pemfullchain.pem 的串联, 它将如下所示:

-----BEGIN CERTIFICATE-----

    ...
    [your cert content]

-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----

    ...
    [your fullchain cert content]

-----END CERTIFICATE-----

关于ssl - 入口 TLS secret 是否需要 __INGRESS_SECRET__ 的 SSL 私钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54930774/

相关文章:

java - 在jboss中配置ssl

performance - WebAPI 在同一台服务器上,即使在其上应用了 SSL,也可以通过 http 而不是 https 访问它吗?

php - 从私钥生成 CSR key

azure - "Could not create SSL/TLS secure channel"自 POODLE 以来 Azure 存储 .NET API 错误

Azure管道-如何执行kubectl命令

.net - 为什么 'remoteCertificate' 参数在 LocalCertificateSelectionCallback 方法中为空?

kubernetes - "kubectl apply"的反面是什么?

kubernetes - 为什么 minikube 启动有时会在 mac os High Sierra 10.13.6 上挂起?

mysql - 无法连接到运行 MySQL 的端口转发 Pod

Azure Kubernetes 集群 : Could not find a ready tiller pod