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.SSLException
private static boolean matchWildCards(boolean hostIsIp, java.lang.String hostnameToken, java.lang.String tlsDnsToken) throws javax.net.ssl.SSLException
javax.net.ssl.SSLException
private static java.lang.String extractCommonName(java.lang.String principal) throws javax.net.ssl.SSLException
javax.net.ssl.SSLException
private static java.lang.String normaliseAddress(java.lang.String hostname)
private static java.lang.String normalizedHostMsg(java.lang.String normalizedHost)
private HostnameVerifierImpl.SubjectAltNames getSubjectAltNames(java.security.cert.X509Certificate cert) throws java.security.cert.CertificateParsingException
java.security.cert.CertificateParsingException
public boolean verify(java.lang.String host, javax.net.ssl.SSLSession session)
verify
in interface javax.net.ssl.HostnameVerifier
public 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
- exception