HTTPS hostname wrong: should be <sub.domain.com>. What causes this?

exception, https, java

Solution

It looks like the SSL certificate for domain.com has been given to sub.domain.com. Or, more likely, what was domain.com has been renamed to sub.domain.com without updating the SSL certificate.

Problem

I am getting this 'HTTPS hostname wrong:' error when trying to connect to a server using https. My url looks something like this ``` https://sub.domain.com/tamnode/webapps/app/servlet. ``` I connect using the following code ``` // Create a URLConnection object for a URL URL url = new URL(requestedURL); HttpURLConnection.setFollowRedirects(false); // connect connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestProperty("User-Agent", USER_AGENT); //$NON-NLS-1$ OutputStreamWriter wr = new OutputStreamWriter(connection .getOutputStream()); ``` but then get an error ``` IOException: HTTPS hostname wrong: should be <sub.domain.com>. at sun.net.www.protocol.https.HttpsClient.checkURLSpoofing .... ``` This is code which has worked in the past but no longer. There have been some changes to the system architecture but I need to get more data before approaching those responsible. What can cause this error? Can I turn off the URLSpoofing check?

Original source

Related problems