Based on my understanding, a tls client trusts a server because the server sends its certificate which has been signed by the CA. How does my computer/os know which CAs are publicly trusted? Do all operating systems run programs to update a list of trusted public CAs that is stored on the client os? What happens if a CA root cert expires- do all users need to “manually” get new root certs from the CA in order to again trust servers with certs signed by that CA? I’d be specifically interested to know how this works for rhel systems if anyone knows.
I understand for private CAs this is an intervention. What I am specifically asking is for example, when I run a vm based on an image of an os, how I am able to use that vm to make a tls encrypted call to google.com without any additional configuration needed?