Most of you must be familiar with the below exception message:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
When trying to open an SSL connection to a host using Java.
What this usually means is that the server is using a test certificate (possibly generated using keytool) rather than a certificate from a well known commercial Certification Authority such as Verisign or GoDaddy.
Web browsers display warning dialogs in this case, but since JSSE cannot assume an interactive user is present it just throws an exception by default.
To bypass this issue and be able to get the contents of a HTTPS url here is the steps:
First: use the below class code to install the required certificates(Source):
I was testing this on wikipedia.org, which is on https, thus facing the https issue.
You can modify the same as per requirement.
Next, set the following arguments while running JVM(source):
-Djavax.net.ssl.trustStore=<local path to certs>/jssecacerts
Next use the below code to get the contents(Source):