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
PGSSLROOTCERTenv 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 esempiocacertsdi 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