Class HostnameChecker.AbstractChecker
- java.lang.Object
-
- com.github.shyiko.mysql.binlog.network.HostnameChecker.AbstractChecker
-
- All Implemented Interfaces:
HostnameChecker
,HostnameVerifier
- Enclosing interface:
- HostnameChecker
public abstract static class HostnameChecker.AbstractChecker extends Object implements HostnameChecker
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.github.shyiko.mysql.binlog.network.HostnameChecker
HostnameChecker.AbstractChecker
-
-
Field Summary
-
Fields inherited from interface com.github.shyiko.mysql.binlog.network.HostnameChecker
ALLOW_ALL, DEFAULT, DEFAULT_AND_LOCALHOST, STRICT, STRICT_IE6
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractChecker()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static boolean
acceptableCountryWildcard(String cn)
void
check(String[] hosts, String[] cns, String[] subjectAlts, boolean ie6, boolean strictWithSubDomains)
void
check(String[] host, X509Certificate cert)
void
check(String[] host, SSLSocket ssl)
void
check(String host, String[] cns, String[] subjectAlts)
void
check(String host, X509Certificate cert)
void
check(String host, SSLSocket ssl)
static int
countDots(String s)
Counts the number of dots "." in a string.static String[]
getCNs(X509Certificate cert)
static String[]
getDNSSubjectAlts(X509Certificate cert)
Extracts the array of SubjectAlt DNS names from an X509Certificate.static boolean
isIP4Address(String cn)
static boolean
isLocalhost(String host)
boolean
verify(String host, SSLSession session)
The javax.net.ssl.HostnameVerifier contract.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.shyiko.mysql.binlog.network.HostnameChecker
check
-
-
-
-
Method Detail
-
getCNs
public static String[] getCNs(X509Certificate cert)
-
getDNSSubjectAlts
public static String[] getDNSSubjectAlts(X509Certificate cert)
Extracts the array of SubjectAlt DNS names from an X509Certificate. Returns null if there aren't any.Note: Java doesn't appear able to extract international characters from the SubjectAlts. It can only extract international characters from the CN field.
(Or maybe the version of OpenSSL I'm using to test isn't storing the international characters correctly in the SubjectAlts?).
- Parameters:
cert
- X509Certificate- Returns:
- Array of SubjectALT DNS names stored in the certificate.
-
verify
public boolean verify(String host, SSLSession session)
The javax.net.ssl.HostnameVerifier contract.- Specified by:
verify
in interfaceHostnameChecker
- Specified by:
verify
in interfaceHostnameVerifier
- Parameters:
host
- 'hostname' we used to create our socketsession
- SSLSession with the remote server- Returns:
- true if the host matched the one in the certificate.
-
check
public void check(String host, SSLSocket ssl) throws IOException
- Specified by:
check
in interfaceHostnameChecker
- Throws:
IOException
-
check
public void check(String host, X509Certificate cert) throws SSLException
- Specified by:
check
in interfaceHostnameChecker
- Throws:
SSLException
-
check
public void check(String host, String[] cns, String[] subjectAlts) throws SSLException
- Specified by:
check
in interfaceHostnameChecker
- Throws:
SSLException
-
check
public void check(String[] host, SSLSocket ssl) throws IOException
- Specified by:
check
in interfaceHostnameChecker
- Throws:
IOException
-
check
public void check(String[] host, X509Certificate cert) throws SSLException
- Specified by:
check
in interfaceHostnameChecker
- Throws:
SSLException
-
check
public void check(String[] hosts, String[] cns, String[] subjectAlts, boolean ie6, boolean strictWithSubDomains) throws SSLException
- Throws:
SSLException
-
isIP4Address
public static boolean isIP4Address(String cn)
-
acceptableCountryWildcard
public static boolean acceptableCountryWildcard(String cn)
-
isLocalhost
public static boolean isLocalhost(String host)
-
countDots
public static int countDots(String s)
Counts the number of dots "." in a string.- Parameters:
s
- string to count dots from- Returns:
- number of dots
-
-