Dansoftowner / Boomega

A modern book explorer/catalog application written in Kotlin and Java.
GNU General Public License v3.0
73 stars 5 forks source link

Can't execute Google Book Queries #144

Closed Dansoftowner closed 3 years ago

Dansoftowner commented 3 years ago
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)
    at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)
    at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
    at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source)
    at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source)
    at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source)
    at java.base/sun.security.ssl.SSLSocketImpl.decode(Unknown Source)
    at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
    at java.base/java.net.URL.openStream(Unknown Source)
    at com.dansoftware.boomega.service.googlebooks.SingleGoogleBookQuery.load(SingleGoogleBookQuery.java:45)
    at com.dansoftware.boomega.gui.recordview.connection.GoogleBookConnectionView$VolumePullTask.call(GoogleBookConnectionView.kt:219)
    at com.dansoftware.boomega.gui.recordview.connection.GoogleBookConnectionView$VolumePullTask.call(GoogleBookConnectionView.kt:196)
    at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)

The interesting thing is that it only occurs when the app runs natively.

Might help: Received fatal alert: handshake_failure through SSLHandshakeException

Dansoftowner commented 3 years ago

Passing the VM argument: -Dhttps.protocols=TLSv1.2,TLSv1.1,TLSv1 solves the problem.