Data360 Analyze

 View Only
  • 1.  Secure JDBC connection to PostgreSQL database

    Posted 05-09-2019 01:15

    I've created a PostgreSQL virtual machine instance on the Google Compute Platform. It gave me a client certificate (client-cert.pem), a client certificate key (client-key.pem) and a server certificate authority (server-ca.pem) files, which I saved on my local machine.

    Using the above files, I'm able to establish an SSL connection from pgAdmin on my local machine to the Google virtual machine, and can securely do SQL transactions.

    I'd like to connect to that same database from Data360 Analyze running on my local machine using the JDBC nodes.

    What steps should I follow to achieve the same secure encrypted channel? The current JDBC node configuration appears to be only login/password based, and not secured for our purposes.



  • 2.  RE: Secure JDBC connection to PostgreSQL database

    Employee
    Posted 05-13-2019 09:01

    I've not found anyone that has used that configuration, however:

    The postgreSQL driver documentation indicates the connection url can include the attribute ssl=true to enable SSL. This key=value option could alternatively be specified in the node's DbOptions properties.

    The client configuration section would indicate the server's certificate would need to be installed if it is not signed by a global CA. You would need to install the server certificate as described in the help (Reference > SSL configuration) or https://d3sa-preview.infogixsaas.com/docs/dist/help/Default.htm#h-tech-guides/adding-SSL.htm

    Looking at this post and this one would indicate you need to use the der format for the client certificate. You will need to import the certificate into the Java keystore used by Analyze - i.e. using the keytool command for the bundled java for your install e.g. for a desktop install at:

    C:\Program Files\Data3SixtyAnalyze\jre\jre\bin

    Alternatively, the client configuration information would imply you may be able to specify the location of the files in the connection URL.