Re: ssl connection issues

Dave Cramer <[email protected]>
Newsgroups gmane.comp.db.postgresql.jdbc
Message-ID <CADK3HH+w+VzE1noskQk74kR0FM=sS01DpCwtmirM4yK_nvuPRQ@mail.gmail.com>
Hi Gabriele,

Can you share your entire setup? How you are creating the certs, etc ?


Dave Cramer

[email protected]
www.postgresintl.com


On Tue, 18 Sep 2018 at 09:42, Gabriele Bulfon <[email protected]> wrote:

> I had a chance to clone the illumos zone to a separate server and upgrade
> postgres to latest 10.5.
> The results are the same:
>
> Postgres logs "could not accept SSL connection: ccs received early"
>
> The Java code throws the exception:
>
> Exception in thread "main" org.postgresql.util.PSQLException: SSL error:
> Received fatal alert: unexpected_message
> at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:42)
> at
> org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:435)
> at
> org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:94)
> at
> org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
> at
> org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
> at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
> at org.postgresql.Driver.makeConnection(Driver.java:454)
> at org.postgresql.Driver.connect(Driver.java:256)
> at java.sql.DriverManager.getConnection(DriverManager.java:664)
> at java.sql.DriverManager.getConnection(DriverManager.java:247)
> at com.sonicle.aliseo.server.TestPostgresSSL.main(TestPostgresSSL.java:23)
> Caused by: javax.net.ssl.SSLException: Received fatal alert:
> unexpected_message
> at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
> at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
> at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
> at
> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
> at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:40)
> ... 10 more
> set 18, 2018 3:35:15 PM org.postgresql.Driver connect
> BUONO: Connecting with URL:
> jdbc:postgresql://x.x.x.x:5432/dbname?ssl=true&loggerLevel=DEBUG&sslfactory=org.postgresql.ssl.LibPQFactory&sslmode=require&sslkey=C:\Users\user\AppData\Roaming\postgresql\client.key&sslcert=C:\Users\user\AppData\Roaming\postgresql\client.crt&sslrootcert=C:\Users\user\AppData\Roaming\postgresql\root.crt
> set 18, 2018 3:35:15 PM org.postgresql.jdbc.PgConnection <init>
> BUONO: PostgreSQL JDBC Driver 42.2.5.jre7
> set 18, 2018 3:35:15 PM org.postgresql.jdbc.PgConnection
> setDefaultFetchSize
> BUONO: setDefaultFetchSize = 0
> set 18, 2018 3:35:15 PM org.postgresql.jdbc.PgConnection
> setPrepareThreshold
> BUONO: setPrepareThreshold = 5
> set 18, 2018 3:35:15 PM org.postgresql.core.v3.ConnectionFactoryImpl
> openConnectionImpl
> BUONO: Trying to establish a protocol version 3 connection to x.x.x.x:5432
> set 18, 2018 3:35:15 PM org.postgresql.ssl.MakeSSL convert
> BUONO: converting regular socket connection to ssl
> set 18, 2018 3:35:16 PM org.postgresql.Driver connect
> BUONO: Connection error:
> org.postgresql.util.PSQLException: SSL error: Received fatal alert:
> unexpected_message
> at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:42)
> at
> org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:435)
> at
> org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:94)
> at
> org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
> at
> org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
> at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
> at org.postgresql.Driver.makeConnection(Driver.java:454)
> at org.postgresql.Driver.connect(Driver.java:256)
> at java.sql.DriverManager.getConnection(DriverManager.java:664)
> at java.sql.DriverManager.getConnection(DriverManager.java:247)
> at com.sonicle.aliseo.server.TestPostgresSSL.main(TestPostgresSSL.java:23)
> Caused by: javax.net.ssl.SSLException: Received fatal alert:
> unexpected_message
> at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
> at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
> at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
> at
> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
> at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
> at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:40)
> ... 10 more
>
>
>
> *Sonicle S.r.l. *: http://www.sonicle.com
> *Music: *http://www.gabrielebulfon.com
> *Quantum Mechanics : *http://www.cdbaby.com/cd/gabrielebulfon
>
> ------------------------------
>
>
> *Da:* Dave Cramer <[email protected]>
> *A:* Alexander Kjäll <[email protected]>
> *Cc:* [email protected]
> *Data:* 17 settembre 2018 12.38.18 CEST
> *Oggetto:* Re: ssl connection issues
>
>
>
>
>
> On Mon, 17 Sep 2018 at 06:10, Alexander Kjäll <[email protected]>
> wrote:
>
>> Another avenue for debugging would be to get a free "real" certificate
>> from https://letsencrypt.org/ and check if that works.
>>
>> That way you can see if it's something in your certificate creation
>> process that causes trouble.
>>
>> //Alexander Kjäll
>>
>> On 17. sep. 2018 11:56, Mark Rotteveel wrote:
>> > On 2018-09-17 11:23, Gabriele Bulfon wrote:
>> >> That may be a possibility, but given that I cannot upgrade at the
>> >> moment, how can I check this and maybe change the required cipher to
>> >> match?
>> >
>> > Debugging SSL problems is not really something I do regularly, but you
>> > may want to see if changing the settings in the java.security policy
>> > helps. Settings to try are:
>> >
>> > jdk.tls.disabledAlgorithms
>> > jdk.certpath.disabledAlgorithms
>> >
>> > For reference:
>> >
>> > Java 8 Update 31, disabled SSLv3:
>> >
>> http://www.oracle.com/technetwork/java/javase/8u31-relnotes-2389094.html,
>> > Java 8 Update 51, disabled some cipher suites, and limitations for DH
>> > keys where added:
>> >
>> http://www.oracle.com/technetwork/java/javase/8u51-relnotes-2587590.html,
>> > similar for Java 8 Update 60:
>> >
>> http://www.oracle.com/technetwork/java/javase/8u60-relnotes-2620227.html
>> > Java 8 update 71 disabled MD5 hash validation of certificates
>> > Java 8 update 121 added restrictions on DSA keysize:
>> >
>> http://www.oracle.com/technetwork/java/javase/8u121-relnotes-3315208.html
>> > Java 8 Update 141 disabled SHA-1 hashes for the certificate chain:
>> >
>> http://www.oracle.com/technetwork/java/javase/8u141-relnotes-3720385.html
>> > Java 8 update 161 added limitations for DH keys, made some changes to
>> > certificate validation and disabled a number of cipher suites:
>> >
>> http://www.oracle.com/technetwork/java/javase/8u161-relnotes-4021379.html
>> > Java 8 update 171 disabled some ciphersuites:
>> >
>> http://www.oracle.com/technetwork/java/javase/8u171-relnotes-4308888.html
>> >
>> > Mark
>> >
>
>
>
> have a look at certdir in the source code. Setting up the ssl tests is not
> particularly difficult. Perhaps getting our tests working first might shed
> some light ??
>
> Dave Cramer
>
> [email protected]
> www.postgresintl.com
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.