Come specificare un certificato client su psql?


11

Ho un server Postgres con un utente devche richiede un certificato client per accedere. Sto usando il comando psql "sslmode=require user=dev host=db.prod", che mi dà psql: FATAL: connection requires a valid client certificate.

So dove si trova il certificato sul mio server. La mia domanda è: come posso specificare la posizione del certificato client psql?



Risposte:


8

Come indicato nella documentazione collegata da @Milen, è possibile farlo impostando le variabili PGSSLCERTe PGSSLKEYambiente o aggiungendo sslcert=<cert location> sslkey=<key location>alla stringa di connessione.


2
Lo noterò qui PGSSLCERTe PGSSLKEYconsentirò anche di specificare i percorsi , quindi non catil certificato o la chiave stessa in quelle variabili.
SeldomNeedy,

8

Il risultato finale sembra $>psql "port=5431 host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"

Tutte le variabili sono qui .


se inserisco root crt in ~ / .postgreqsl / non devo fornire alcuna chiave. Se lo metto da qualche altra parte e fornisco sslrootcert, improvvisamente devo anche fornire la chiave: sai come funziona?
Radu Simionescu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.