Como especificar um certificado de cliente para psql?


11

Eu tenho um servidor Postgres com um usuário devque requer um certificado de cliente para efetuar login. Estou usando o comando psql "sslmode=require user=dev host=db.prod", que me fornece psql: FATAL: connection requires a valid client certificate.

Eu sei onde o certificado está no meu servidor. Minha pergunta é: como especificar o local do certificado do cliente psql?



Respostas:


8

Conforme declarado na documentação vinculada por @Milen, você pode fazer isso configurando as variáveis ​​de ambiente PGSSLCERTe PGSSLKEY, ou adicionando sslcert=<cert location> sslkey=<key location>à cadeia de conexão.


2
Vou anotar aqui isso PGSSLCERTe PGSSLKEYtambém permitir que os caminhos sejam especificados, para que cato certificado ou a chave não se insira nessas variáveis.
precisa saber é o seguinte

8

O resultado final parece $>psql "port=5431 host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"

Todas as variáveis ​​estão aqui .


se eu colocar root crt em ~ / .postgreqsl /, não preciso fornecer nenhuma chave. Se eu colocá-lo em outro lugar e fornecer sslrootcert, de repente também preciso fornecer a chave - você sabe como isso funciona?
Radu Simionescu
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.