private static boolean matchIdentity(final String host, final String identity,
final PublicSuffixMatcher publicSuffixMatcher,
final boolean strict) {
if (host == null) {
return false;
}
if (publicSuffixMatcher != null && host.contains(".")) {
String domainRoot = publicSuffixMatcher.getDomainRoot(identity);
if (domainRoot == null) {
return false;
}
domainRoot = "." + domainRoot;
if (!host.endsWith(domainRoot)) {
return false;
}
if (strict && countDots(identity) != countDots(domainRoot)) {
return false;
}
}
return matchServerIdentity(host, identity, strict);
}