I am trying to access local https site with self-signed certificate. I modified the hostfile and I assigned an Ip address to my localsite; the code I am using to get to the site:
String httpsURL = "https://test-ssl.com";
URL myurl = new URL(httpsURL);
HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();
InputStream ins = con.getInputStream();
InputStreamReader isr = new InputStreamReader(ins);
BufferedReader in = new BufferedReader(isr);
String inputLine;
while ((inputLine = in.readLine()) != null)
{
System.out.println(inputLine);
}
in.close();
}
and I am getting this Error Message:
Exception in thread "main" 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
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1904)
I have imported the self-signed certificate into the keystore using following this command:
keytool -import -alias site-ssl -keystore cacerts -file site-ssl.com.cer
Certificate was imported successfully
what am I missing here?
You should try it with a hostname instead of the IP address in the URL. It's trying to do hostname verification, and the certificate doesn't contain a Subject Alternative Name for 192.168.1.6
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.