awidesky/Youtube-Clipboard-Auto-Downloader4J

SSL handshake_failure when installing binaries

Closed this issue · 2 comments

Problem :
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure is thrown when invoking url.openStream() to reach yt-dlp or ffmpeg download sites.

Running the app from eclipse works fine, indicating that TSL/SSL certificate might not the cause, and custom jre could be.
below is whole stacktrace :

java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
	at com.awidesky.YoutubeClipboardAutoDownloader.util.exec.ResourceInstaller.getContent(ResourceInstaller.java:140)
	at com.awidesky.YoutubeClipboardAutoDownloader.util.exec.ResourceInstaller.getFFmpeg(ResourceInstaller.java:59)
	at com.awidesky.YoutubeClipboardAutoDownloader.YoutubeAudioDownloader.checkFfmpeg(YoutubeAudioDownloader.java:54)
	at com.awidesky.YoutubeClipboardAutoDownloader.Main.setup(Main.java:163)
	at com.awidesky.YoutubeClipboardAutoDownloader.Main.main(Main.java:130)
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:358)
	at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:293)
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:204)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)
	at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
	at java.base/java.net.URL.openStream(URL.java:1161)
	at com.awidesky.YoutubeClipboardAutoDownloader.util.exec.ResourceInstaller.getContent(ResourceInstaller.java:136)
	... 4 more

this might be the problem, since executing through custom jre made by jremaker.bat throws the Exception no matter of the release type.

bug fixed by #7