自己生成的证书,由于没有设置域名,会到这这个问题
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
解决办法,强制信任即可
HttpsURLConnection.setDefaultHostnameVerifier(new NullHostNameVerifier());public static class NullHostNameVerifier implements HostnameVerifier { /* * (non-Javadoc) * * @see javax.net.ssl.HostnameVerifier#verify(java.lang.String, * javax.net.ssl.SSLSession) */ @Override public boolean verify(String arg0, SSLSession arg1) { // TODO Auto-generated method stub return true; } }
完整代码
package com.ids.web.controller.tool; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net