private static void verifyHostName(final String host, X509Certificate cert,
String hostNameVerifier) throws SSLException {
String cn = getCN(cert);
String[] subjectAlts = getDNSSubjectAlts(cert);
if (EncodingUtil.STRICT.equals(hostNameVerifier)) {
verifyHostName(host, cn, subjectAlts, true);
} else if (EncodingUtil.ALLOW_ALL.equals(hostNameVerifier)) {
return;
} else if (EncodingUtil.DEFAULT_AND_LOCALHOST.equals(hostNameVerifier)) {
if (isLocalhost(host)) {
return;
}
verifyHostName(host, cn, subjectAlts, false);
} else {
verifyHostName(host, cn, subjectAlts, false);
}
}