Re: JDBC connection test with SSL on PG 9.2.1 server

From: Hari Babu <haribabu(dot)kommi(at)huawei(dot)com>
To: "'Dave Cramer'" <pg(at)fastcrypt(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-29 05:09:45
Message-ID: 00a401cdfdde$db9737e0$92c5a7a0$@kommi@huawei.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-jdbc

On Monday, January 28, 2013 10:20 PM, Dave Cramer wrote:

>>On Mon, Jan 28, 2013 at 9:03 AM, Hari Babu < <mailto:haribabu(dot)kommi(at)huawei(dot)com> 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?

>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.

I removed the trustStorePassword setting from the test, still the second connection is getting success with the wrong

keyStorePassword.

Regards,

Hari babu.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Hari Babu 2013-01-29 05:24:51 JDBC connection test with SSL on PG 9.2.1 server
Previous Message Bob Futrelle 2013-01-28 22:42:01 Re: JDBC - Need to declare variables for values in insert statement

Browse pgsql-jdbc by date

  From Date Subject
Next Message Chen Huajun 2013-01-29 05:43:18 Re: [BUGS]log can not be output when use DataSource
Previous Message dmp 2013-01-28 23:00:42 Re: Bug report: NullPointerException from Driver.connect when passed a Properties with non-string values