An SSL handshake failure in my experience is generally caused when the server is enforcing a version of TLS that is higher than the client (you) are attempting to negotiate the handshake with. Bugs(?) in SSL libraries sometimes mean they attempt to use the lowest protocol available, such as SSLv3 and don't try a higher one when it fails. The solve I have been most successful with is passing a
https.protocols system parameter to the JVM that tells it which protocols to use, thus eliminating the lower (incompatible) ones, which you want to do anyway as those older protocols have been proven insecure.
example passing this as a command line argument (assuming the server needs TLSv1 or better):