cert-manager: generated kubernetes.io/tls secret do not respect standard
The generated tls secret contains a non standard ca.crt
parameter.
It makes the generated secrets incompatible with most of the consumers that would rely on the fact tls.crt
entry contains the certificate full chain.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 16 (8 by maintainers)
@SgtCoDFish yep, linked procedure is a liitle bit another case. OpenShift mounts secret, generated by Cert-Manager without custom-ca bundle. Its affects isolated installations of Openshift without white domains/certs
set 1 only adds custom CA to coreos/rhcos trusted ca bundle using machine config. But /var/run/secrets/kubernetes.io/serviceaccount/ca.crt isn’t affected.
In addition, this ticket https://access.redhat.com/solutions/6013471t describes the way to add custom CA via cert chain.
I can try to add this option and send a pull request, if you confirm this functionality.
Hi!
If true, I suspect this would be a reasonably strong case for us adding an option to add the root to
tls.crt
; we want to support openshift.That said, it looks to me that step 1 under procedure on this page you linked is doing exactly that?
I’m not very experienced with openshift, so I could be misunderstanding.
Hi! I have the same issue with ca.crt parameter I`v tried to use cert-manager for issuing custom certificate for openshift ingress operator. According to the openshift documentation: https://docs.openshift.com/container-platform/4.7/security/certificates/replacing-default-ingress-certificate.html
Openshift ingress operator, takes all chain from tls.crt and adds to /var/run/secrets/kubernetes.io/serviceaccount/ca.crt Without root CA, apps which uses /var/run/secrets/kubernetes.io/serviceaccount/ca.crt as trusted ca bundle, can’t work properly
There is no way to tell openshift ingress operator where to find custom root CA
This ticket describes the only way to add custom CA to /var/run/secrets/kubernetes.io/serviceaccount/ca.crt, via ingress operator https://access.redhat.com/solutions/6013471
If anything requires the root to be in the chain that’s presented, it’s likely to be fundamentally breaking a key assumption of TLS. It changes the entire trust model into “trust on first use” (TOFU), and introduces a huge risk of man-in-the-middle attacks. If the “automation” adds the root to a trust store, that’s a gigantic security risk.
If I were a CISO or a member of a security team at a company, seeing a requirement for a root in a chain would ring serious alarm bells for me.