1、报错信息
java.security.cert.CertificateException: No name matching found; nested exception is .ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching found
原因:在调用的时候,我们使用的是https的方式,正常情况下应该是使用的证书,但由于某些原因,我们只能使用自己的证书,导致在验证证书的时候,就报了这个错误。
解决的办法:忽略服务端和客户端的证书校验即可。java 提供的相关的类。
2、具体实现方式
通过重写TrustManager的checkClientTrusted(检查客户端证书信任)和checkServerTrusted(检查服务端证书验证)。
以及HostnameVerifier的verify(校验)方法即可取消对证书的所有验证。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import .ssl.*;
import java.io.IOException;
import .URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
public final class Di