public class HostnameVerifierImpl
extends java.lang.Object
implements javax.net.ssl.HostnameVerifier
| Modifier and Type | Class and Description |
|---|---|
private static class |
HostnameVerifierImpl.Extension |
private class |
HostnameVerifierImpl.GeneralName |
private class |
HostnameVerifierImpl.SubjectAltNames |
| Constructor and Description |
|---|
HostnameVerifierImpl() |
| Modifier and Type | Method and Description |
|---|---|
private static java.lang.String |
extractCommonName(java.lang.String principal) |
private HostnameVerifierImpl.SubjectAltNames |
getSubjectAltNames(java.security.cert.X509Certificate cert) |
private static boolean |
matchDns(java.lang.String hostname,
java.lang.String tlsDnsPattern)
DNS verification :
Matching is performed using the matching rules specified by
[RFC2459].
|
private static boolean |
matchWildCards(boolean hostIsIp,
java.lang.String hostnameToken,
java.lang.String tlsDnsToken) |
private static java.lang.String |
normaliseAddress(java.lang.String hostname) |
private static java.lang.String |
normalizedHostMsg(java.lang.String normalizedHost) |
boolean |
verify(java.lang.String host,
javax.net.ssl.SSLSession session) |
boolean |
verify(java.lang.String host,
javax.net.ssl.SSLSession session,
long serverThreadId)
Verification, like HostnameVerifier.verify() with an additional server thread id
to identify connection in logs.
|
void |
verify(java.lang.String host,
java.security.cert.X509Certificate cert,
long serverThreadId)
Verification that throw an exception with a detailed error message in case of error.
|
private static final Logger logger
private static boolean matchDns(java.lang.String hostname,
java.lang.String tlsDnsPattern)
throws javax.net.ssl.SSLException
hostname - hostnametlsDnsPattern - DNS pattern (may contain wildcard)javax.net.ssl.SSLExceptionprivate static boolean matchWildCards(boolean hostIsIp,
java.lang.String hostnameToken,
java.lang.String tlsDnsToken)
throws javax.net.ssl.SSLException
javax.net.ssl.SSLExceptionprivate static java.lang.String extractCommonName(java.lang.String principal)
throws javax.net.ssl.SSLException
javax.net.ssl.SSLExceptionprivate static java.lang.String normaliseAddress(java.lang.String hostname)
private HostnameVerifierImpl.SubjectAltNames getSubjectAltNames(java.security.cert.X509Certificate cert) throws java.security.cert.CertificateParsingException
java.security.cert.CertificateParsingExceptionpublic boolean verify(java.lang.String host,
javax.net.ssl.SSLSession session)
verify in interface javax.net.ssl.HostnameVerifierpublic boolean verify(java.lang.String host,
javax.net.ssl.SSLSession session,
long serverThreadId)
host - host to connect (DNS/IP)session - SSL sessionserverThreadId - connection id to identify connection in logspublic void verify(java.lang.String host,
java.security.cert.X509Certificate cert,
long serverThreadId)
throws javax.net.ssl.SSLException
host - hostnamecert - certificateserverThreadId - server thread Identifier to identify connection in logsjavax.net.ssl.SSLException - exceptionprivate static java.lang.String normalizedHostMsg(java.lang.String normalizedHost)