自己生成的证书,由于没有设置域名,会到这这个问题
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.HttpURLConnection;

当使用自签名的HTTPS证书时,Java可能会抛出'No subject alternative names present'异常。解决方法是通过代码强制信任该证书。本文提供了一个完整的Java代码示例来处理这个问题。

1513

被折叠的 条评论
为什么被折叠?



