SSL support in JDBC - Mailing list pgsql-jdbc

From Barry Lind
Subject SSL support in JDBC
Date
Msg-id 3F3490DD.50400@xythos.com
Whole thread Raw
List pgsql-jdbc
I have just verified that the SSL support added into the 7.4 driver is
working correctly, even against the new v3 protocol of a 7.4 database.

Here are my notes on how to enable SSL on both the server and jdbc client.

build ssl support into postgres server

    ./configure --with-openssl
    make
    make install

enable ssl in postgresql.conf

    ssl = true

add ssl to pg_hba.conf file:

    hostssl ....

Create a quick self-signed certificate using the following OpenSSL command:

    openssl req -new -text -out server.req

Fill out the information that openssl asks for. The challenge password
can be left blank. The programm will generate a key that is passphrase
protected; it will not accept a passphrase that is less than four
characters long. To remove the passphrase (as you must if you want
automatic start-up of the server), run the commands

    openssl rsa -in privkey.pem -out server.key
    rm privkey.pem

Enter the old passphrase to unlock the existing key. Now do

    openssl req -x509 -in server.req -text -key server.key -out server.crt
    chmod og-rwx server.key

to turn the certificate into a self-signed certificate and copy the key
and certificate to the data directory of the server.

Now convert the server.crt to a format java can import on the client:

    openssl x509 -in server.crt -out server.crt.der -outform der

Now import the cert into the java keystore:

    keytool -keystore [your java home here]/lib/security/cacerts -alias
[any name for the cert you like (i.e. postgres)] -import -file
server.crt.der

enter the password for the cacerts keystore (default is 'changeit').
Say yes to trust this cert.

Restart the database server and you are done.

To use SSL in jdbc add "?ssl" to the connection url.

I tested the above against both a 7.3 and 7.4 database using the current
development sources on java1.4.

thanks,
--Barry



pgsql-jdbc by date:

Previous
From: Darin Ohashi
Date:
Subject: Bug in JVM causing problems with MessageTranslator
Next
From: Amogh Pandey
Date:
Subject: how to connect jdk with postgreSQL