url=jdbc:postgresql://<host_url_or_ip>:<port>/<db_name>?currentSchema=<schema_name>&sslmode=verify-ca&sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory
Catatan:jika schema_name
adalah public
, itu tidak wajib. Tetapi port meskipun default yaitu 5432, Anda harus menyediakannya.
Untuk nilai sslmode ref:https://jdbc.postgresql.org/documentation/ head/ssl-client.html
atur sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory
untuk mengaktifkan validasi.
Untuk koneksi ssl yang tidak memvalidasi, Anda dapat menggunakan sslfactory=org.postgresql.ssl.NonValidatingFactory
Tapi ingat, setelah Anda mengaktifkan validasi SSL, itu mungkin memerlukan sertifikat CA root.
Anda memiliki berbagai opsi sebagai berikut (mungkin tidak lengkap. tetapi ini berhasil untuk saya.)
- Anda dapat menempatkannya di tempat default yaitu ~/Postgres/root.crt ATAU
- Setel
PGSSLROOTCERT
variabel env ke jalurnya ATAU - impor ke truststore dan berikan jalurnya sebagai:
-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password]
. Jika Anda menggunakan truststore default yaitucacerts
JRE dua variabel env ini tidak diperlukan.
Referensi:
https://jdbc.postgresql.org/documentation/head/ssl-client .html
https://www.postgresql.org/docs/9.0/libpq-ssl .html