Re: GCJ, SSL Connection Issue

Lists: pgsql-jdbc
From: Chad Files <cpfiles(at)gmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: GCJ, SSL Connection Issue
Date: 2005-11-29 21:23:12
Message-ID: 9735eb9b0511291323q6416ac9cp14bcbf060d418737@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

I am having issues connecting to a remote postgres server over SSL
using the GCJ interpreter. I have researched the issue all day and
have not got close to solving it. Any help would be appreciated.

Here is the connection code I am using...

Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://server/database";
Properties props = new Properties();
props.setProperty("user","na");
props.setProperty("password","na");
props.setProperty("ssl","true");
Connection conn = DriverManager.getConnection(url, props);

Here is the error message...

Caused by: java.lang.RuntimeException: error instantiating default
socket factory: java.security.NoSuchAlgorithmException: SSLv3

I tried using different sslFactory settings like so...

props.setProperty("sslfactory", "org.postgresql.ssl.NonValidatingFactory");

I also used the javax.net.ssl.SSLServerSocketFactory class in the
jessie package. With both of these classes I get the error...

The SSLSocketFactory class provided
org.postgresql.ssl.NonValidatingFactory could not be instantiated.


From: Kris Jurka <books(at)ejurka(dot)com>
To: Chad Files <cpfiles(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: GCJ, SSL Connection Issue
Date: 2005-11-30 01:25:00
Message-ID: Pine.BSO.4.61.0511292022060.25356@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Tue, 29 Nov 2005, Chad Files wrote:

> I am having issues connecting to a remote postgres server over SSL
> using the GCJ interpreter. I have researched the issue all day and
> have not got close to solving it. Any help would be appreciated.
>
> Caused by: java.lang.RuntimeException: error instantiating default
> socket factory: java.security.NoSuchAlgorithmException: SSLv3
>

This is a limitation of gcj, it doesn't come with a SSL provider by
default. You'll need jessie: http://www.nongnu.org/jessie/

Kris Jurka


From: Chad Files <cpfiles(at)gmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: GCJ, SSL Connection Issue
Date: 2005-11-30 13:45:02
Message-ID: 9735eb9b0511300545l63b2be84x5e6cfe5d95b0e127@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On 11/29/05, Kris Jurka <books(at)ejurka(dot)com> wrote:
> This is a limitation of gcj, it doesn't come with a SSL provider by
> default. You'll need jessie: http://www.nongnu.org/jessie/

I tried using Jessie yesterday with no success. This morning I decided
to read the documentation again to see if I was doing things
correctly. Then I discovered the real issue...The documentation is not
correct for the addProvider method. It should read:

java.security.Security.addProvider(new org.metastatic.jessie.provider.Jessie());

(the provider package is not mentioned in the documentation)

I am sure with the latest version they just moved some classes around.
Anyway I am now able to connect to Postgres remotely over SSL with
GCJ. Here is my connection code encase it is useful for anybody else.

java.security.Security.addProvider(new org.metastatic.jessie.provider.Jessie());

Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://server/database";
Properties props = new Properties();
props.setProperty("user","na");
props.setProperty("password","na");
props.setProperty("ssl","true");
props.setProperty("sslfactory", "org.postgresql.ssl.NonValidatingFactory");
Connection conn = DriverManager.getConnection(url, props);

Thank you for your help.

-- Chad