Configurar um certificado raiz para verificação do servidor

IMPORTANT
Os certificados TLS/SSL em ambientes de Produção para a API Postgres interativa do serviço de consulta foram atualizados na quarta-feira, 24 de janeiro de 2024.
Embora esse seja um requisito anual, neste momento o certificado raiz na cadeia também foi alterado, pois o provedor de certificados TLS/SSL da Adobe atualizou sua hierarquia de certificados. Isso pode afetar determinados clientes Postgres se a lista de Autoridades de certificação não tiver o certificado raiz. Por exemplo, um cliente PSQL CLI pode precisar ter os certificados raiz adicionados a um arquivo explícito ~/postgresql/root.crt, caso contrário, isso pode resultar em um erro. Por exemplo, psql: error: SSL error: certificate verify failed. Consulte a documentação oficial do PostgreSQL para obter mais informações sobre esse problema.
O certificado raiz a ser adicionado pode ser baixado de https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.

Para garantir uma conexão segura, o uso do SSL deve ser configurado no cliente e no servidor antes que a conexão seja feita. Se o SSL só estiver configurado no servidor, o cliente poderá enviar informações confidenciais, como senhas, antes de se estabelecer que o servidor requer alta segurança.

Por padrão, PostgreSQL não executa nenhuma verificação do certificado do servidor. Para verificar a identidade do servidor e garantir uma conexão segura antes que dados confidenciais sejam enviados (como parte do modo SSL verify-full), você deve colocar um certificado raiz (autoassinado) no computador local (root.crt) e um certificado folha assinado pelo certificado raiz no servidor.

Se o parâmetro sslmode estiver configurado como verify-full, a libpq verificará se o servidor é confiável verificando a cadeia de certificados até o certificado raiz armazenado no cliente. Em seguida, ele verifica se o nome do host corresponde ao nome armazenado no certificado do servidor.

Para permitir a verificação do certificado do servidor, você deve colocar um ou mais certificados raiz (root.crt) no arquivo PostgreSQL em seu diretório base. O caminho do arquivo seria semelhante a ~/.postgresql/root.crt.