Обсуждение: GCJ, SSL Connection Issue
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.
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
On 11/29/05, Kris Jurka <books@ejurka.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