我正在努力
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.pem
和 fullchain.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/