Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

SSL support in 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





Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group