Làm thế nào để xác định một chứng chỉ ứng dụng khách cho psql?


11

Tôi có một máy chủ Postgres với một người dùng devyêu cầu chứng chỉ ứng dụng khách để đăng nhập. Tôi đang sử dụng lệnh này psql "sslmode=require user=dev host=db.prod", cung cấp cho tôi psql: FATAL: connection requires a valid client certificate.

Tôi biết nơi có chứng chỉ trên máy chủ của tôi. Câu hỏi của tôi là, làm thế nào để tôi chỉ định vị trí chứng chỉ ứng dụng khách psql?



Câu trả lời:


8

Như đã nêu trong tài liệu được liên kết bởi @Milen, bạn có thể thực hiện việc này bằng cách đặt các biến PGSSLCERTPGSSLKEYmôi trường hoặc bằng cách thêm sslcert=<cert location> sslkey=<key location>vào chuỗi kết nối.


2
Tôi sẽ lưu ý ở đây rằng PGSSLCERTPGSSLKEYcũng cho phép các đường dẫn được chỉ định, do đó, đừng để catchứng chỉ hoặc khóa chính nó vào các biến đó.
Hiếm khi

8

Kết quả cuối cùng trông như $>psql "port=5431 host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"

Tất cả các biến ở đây .


nếu tôi đặt crt gốc trong ~ / .postgreqsl / Tôi không phải cung cấp bất kỳ khóa nào. Nếu tôi đặt nó ở một nơi khác và cung cấp sslrootcert, đột nhiên tôi cũng phải cung cấp khóa - bạn có biết nó hoạt động như thế nào không?
Radu Simionescu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.