Class DefaultHostnameVerifier

  • All Implemented Interfaces:
    javax.net.ssl.HostnameVerifier, HttpClientHostnameVerifier

    @Contract(threading=STATELESS)
    public final class DefaultHostnameVerifier
    extends java.lang.Object
    implements HttpClientHostnameVerifier
    Default HostnameVerifier implementation.
    Since:
    4.4
    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
    • Constructor Detail

      • DefaultHostnameVerifier

        public DefaultHostnameVerifier​(PublicSuffixMatcher publicSuffixMatcher)
      • DefaultHostnameVerifier

        public DefaultHostnameVerifier()
    • Method Detail

      • verify

        public boolean verify​(java.lang.String host,
                              javax.net.ssl.SSLSession session)
        Specified by:
        verify in interface javax.net.ssl.HostnameVerifier
      • verify

        public void verify​(java.lang.String host,
                           java.security.cert.X509Certificate cert)
                    throws javax.net.ssl.SSLException
        Description copied from interface: HttpClientHostnameVerifier
        Verifies the supplied server X509Certificate and ensures it matches the original host name.
        Specified by:
        verify in interface HttpClientHostnameVerifier
        Parameters:
        host - the original host name.
        cert - the server certificate;
        Throws:
        javax.net.ssl.SSLException
      • matchIPAddress

        static void matchIPAddress​(java.lang.String host,
                                   java.util.List<SubjectName> subjectAlts)
                            throws javax.net.ssl.SSLException
        Throws:
        javax.net.ssl.SSLException
      • matchIPv6Address

        static void matchIPv6Address​(java.lang.String host,
                                     java.util.List<SubjectName> subjectAlts)
                              throws javax.net.ssl.SSLException
        Throws:
        javax.net.ssl.SSLException
      • matchDNSName

        static void matchDNSName​(java.lang.String host,
                                 java.util.List<SubjectName> subjectAlts,
                                 PublicSuffixMatcher publicSuffixMatcher)
                          throws javax.net.ssl.SSLException
        Throws:
        javax.net.ssl.SSLException
      • matchCN

        static void matchCN​(java.lang.String host,
                            java.security.cert.X509Certificate cert,
                            PublicSuffixMatcher publicSuffixMatcher)
                     throws javax.net.ssl.SSLException
        Throws:
        javax.net.ssl.SSLException
      • matchDomainRoot

        static boolean matchDomainRoot​(java.lang.String host,
                                       java.lang.String domainRoot)
      • matchIdentity

        private static boolean matchIdentity​(java.lang.String host,
                                             java.lang.String identity,
                                             PublicSuffixMatcher publicSuffixMatcher,
                                             DomainType domainType,
                                             boolean strict)
      • matchIdentity

        static boolean matchIdentity​(java.lang.String host,
                                     java.lang.String identity,
                                     PublicSuffixMatcher publicSuffixMatcher)
      • matchIdentity

        static boolean matchIdentity​(java.lang.String host,
                                     java.lang.String identity)
      • matchIdentityStrict

        static boolean matchIdentityStrict​(java.lang.String host,
                                           java.lang.String identity,
                                           PublicSuffixMatcher publicSuffixMatcher)
      • matchIdentityStrict

        static boolean matchIdentityStrict​(java.lang.String host,
                                           java.lang.String identity)
      • matchIdentity

        static boolean matchIdentity​(java.lang.String host,
                                     java.lang.String identity,
                                     PublicSuffixMatcher publicSuffixMatcher,
                                     DomainType domainType)
      • matchIdentityStrict

        static boolean matchIdentityStrict​(java.lang.String host,
                                           java.lang.String identity,
                                           PublicSuffixMatcher publicSuffixMatcher,
                                           DomainType domainType)
      • extractCN

        static java.lang.String extractCN​(java.lang.String subjectPrincipal)
                                   throws javax.net.ssl.SSLException
        Throws:
        javax.net.ssl.SSLException
      • getSubjectAltNames

        static java.util.List<SubjectName> getSubjectAltNames​(java.security.cert.X509Certificate cert)
      • getSubjectAltNames

        static java.util.List<SubjectName> getSubjectAltNames​(java.security.cert.X509Certificate cert,
                                                              int subjectName)
      • normaliseAddress

        static java.lang.String normaliseAddress​(java.lang.String hostname)