JDK 11 and Broken TLSv1.3: No PSK available. Unable to resume


#1

If you hit this stacktrace with JDK 11 and XLT, it might be related to this JDK 11 defect of the TLSv1.3 Implementation: https://stackoverflow.com/questions/52574050/javax-net-ssl-sslexception-no-psk-available-unable-to-resume

[2019/02/20-21:18:05,246] ERROR [TTest-37-pool-2] runtime - Failed to load static content from: https://someurlhere.foo/test.html
javax.net.ssl.SSLException: No PSK available. Unable to resume.
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:129)
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:255)
	at java.base/sun.security.ssl.ServerHello$T13ServerHelloConsumer.consume(ServerHello.java:1224)
	at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(ServerHello.java:984)
	at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.consume(ServerHello.java:872)
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)

The workaround is to disable TLSv1.3 for now and go with TLSv1.2 - default.properties or any other property file if you want to overwrite it:

## The SSL handshake protocols to enable. Use this setting if a server requires
## a protocol that is not enabled by default (typically SSLv3 and TLSv1 are
## enabled only).
## If not defined or left blank, the defaults in the JRE will be used.
com.xceptance.xlt.ssl.protocols = TLSv1.2

Happy testing!