Re: JDBC connection test with SSL on PG 9.2.1 server

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Hari Babu <haribabu(dot)kommi(at)huawei(dot)com>
Cc: List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: JDBC connection test with SSL on PG 9.2.1 server
Date: 2013-01-28 16:49:47
Message-ID: CADK3HHLO-eup0et0nh85sZ=urfhsa=pqqGr8xJ+GpRZGBAC9+A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-jdbc

Hari,

JDBC uses java's SSL infrastructure, as such I don't think it's a defect in
JDBC. It could be because your truststore does not require a password.

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On Mon, Jan 28, 2013 at 9:03 AM, Hari Babu <haribabu(dot)kommi(at)huawei(dot)com>wrote:

> While testing PostgreSQL JDBC java client to connect to the PG 9.2.1
> database server using SSL.
> we got the following behavior.
>
> The test steps as below:
>
> url = "jdbc:postgresql://" + "10.145.98.227" + ':'
> + "8707" + '/'
> + "POSTGRES";
> Properties props = new Properties();
> props.setProperty("user", "CLIENT");
> props.setProperty("password", "1234(at)QWER");
> props.setProperty("ssl", "true");
>
> System.setProperty("javax.net.ssl.trustStore", "193store");
> System.setProperty("javax.net.ssl.keyStore", "193client.jks");
> System.setProperty("javax.net.ssl.trustStorePassword", "qwerty");
> System.setProperty("javax.net.ssl.keyStorePassword", "qwerty");
>
> /*Begin the first ssl connection*/
> conn1 = DriverManager.getConnection(url, props);
> System.out.println("Connection1 successful!");
>
>
> System.setProperty("javax.net.ssl.trustStore", "193store");
> System.setProperty("javax.net.ssl.keyStore", "193client.jks");
> System.setProperty("javax.net.ssl.trustStorePassword", "qwerty");
> System.setProperty("javax.net.ssl.keyStorePassword", "wrongpassword");
>
> /*Begin the second ssl connection*/
> conn2 = DriverManager.getConnection(url, props);
> System.out.println("Connection2 successful!");
>
> Before first connection we set
> "System.setProperty("javax.net.ssl.keyStorePassword", "qwerty");" qwerty is
> the right password
> and before second SSL connection we set
> "System.setProperty("javax.net.ssl.keyStorePassword", "wrongpassword");"
> wrongpassword is the wrong password.
>
> we expect the first SSL connection will be successful and second failed
> because of wrong password, but actually we get two successful SSL
> connections.
> We found that if the first SSL connections password set right, all the
> following SSL connections are fine ,even set wrong keystroke password.
>
> 1. Is this a defect about JDBC?
> 2. Is it SSL behavior to authenticate only once?
> 3. Is it system property behavior can be set only once.
> 4. Is it because of any other problems?
>
> please give your suggestions?
>
> Regards,
> Hari babu.
>
>
>
> --
> Sent via pgsql-jdbc mailing list (pgsql-jdbc(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-jdbc
>

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Steve Atkins 2013-01-28 17:22:51 Re: Installing PostgreSQL on OSX Server
Previous Message Stephen Cook 2013-01-28 16:47:10 Re: Installing PostgreSQL on OSX Server

Browse pgsql-jdbc by date

  From Date Subject
Next Message Nathaniel Waisbrot 2013-01-28 17:26:46 Bug report: NullPointerException from Driver.connect when passed a Properties with non-string values
Previous Message Hari Babu 2013-01-28 14:03:00 JDBC connection test with SSL on PG 9.2.1 server