url=jdbc:postgresql://<host_url_or_ip>:<port>/<db_name>?currentSchema=<schema_name>&sslmode=verify-ca&sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory
Nota:se schema_name
è public
, non è obbligatorio. Ma la porta anche se è predefinita, ovvero 5432, devi fornirla.
Per i valori sslmode fare riferimento a:https://jdbc.postgresql.org/documentation/ head/ssl-client.html
imposta sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory
per abilitare la convalida.
Per una connessione SSL non validante, puoi utilizzare sslfactory=org.postgresql.ssl.NonValidatingFactory
Ma ricorda, una volta abilitata la convalida SSL, potrebbe essere necessario un certificato CA radice.
Hai varie opzioni come segue (potrebbe non essere esaustivo. ma queste hanno funzionato per me.)
- Puoi posizionarlo nella sua posizione predefinita, ad esempio ~/Postgres/root.crt OPPURE
- Imposta
PGSSLROOTCERT
env nel suo percorso O - importa in un truststore e passa il percorso come:
-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password]
. Se stai utilizzando il truststore predefinito, ad esempiocacerts
di JRE queste due variabili di ambiente non sono obbligatorie.
Rif:
https://jdbc.postgresql.org/documentation/head/ssl-client .html
https://www.postgresql.org/docs/9.0/libpq-ssl .html