psqlにクライアント証明書を指定するにはどうすればよいですか?


11

devログインにクライアント証明書を必要とするユーザーがいるPostgresサーバーがあります。コマンドを使用しpsql "sslmode=require user=dev host=db.prod"ていpsql: FATAL: connection requires a valid client certificateます。

証明書がサーバーのどこにあるか知っています。私の質問は、クライアント証明書の場所をどのように指定するのpsqlですか?



回答:


8

@Milenによってリンクされたドキュメントで述べられているように、これを行うには、PGSSLCERTおよびPGSSLKEY環境変数を設定するかsslcert=<cert location> sslkey=<key location>、接続文字列に追加します。


2
ここでPGSSLCERTパスの指定PGSSLKEYも許可していることに注意してください。証明書やキー自体をこれらの変数に入力しないでください。cat
SeldomNeedy

8

最終結果は次のようになります $>psql "port=5431 host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"

すべての変数はここにあります


〜/ .postgreqsl /にroot crtを配置した場合、キーを指定する必要はありません。別の場所に配置してsslrootcertを提供した場合、突然キーも提供する必要があります。その仕組みを知っていますか?
Radu Simionescu 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.