org.apache.http.conn.ssl

## Class StrictHostnameVerifier

- java.lang.Object
- - org.apache.http.conn.ssl.AbstractVerifier
  - - org.apache.http.conn.ssl.StrictHostnameVerifier

- All Implemented Interfaces:
    HostnameVerifier, X509HostnameVerifier

  Deprecated.
  (4.4) Use `DefaultHostnameVerifier`

      @Contract(threading=IMMUTABLE)
      @Deprecated
      public class StrictHostnameVerifier
      extends AbstractVerifier

  The Strict HostnameVerifier works the same way as Sun Java 1.4, Sun Java 5, Sun Java 6. It's also pretty close to IE6. This implementation appears to be compliant with RFC 2818 for dealing with wildcards.

  The hostname must match either the first CN, or any of the subject-alts. A wildcard can occur in the CN, and in any of the subject-alts. The one divergence from IE6 is how we only check the first CN. IE6 allows a match against any of the CNs present. We decided to follow in Sun Java 1.4's footsteps and only check the first CN. (If you need to check all the CN's, feel free to write your own implementation!).

  A wildcard such as "*.foo.com" matches only subdomains in the same level, for example "a.foo.com". It does not match deeper subdomains such as "a.b.foo.com".

  Since:
    4.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static StrictHostnameVerifier` | `INSTANCE` Deprecated.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StrictHostnameVerifier()` Deprecated.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `toString()` Deprecated.
    `void` | `verify(String host, String[] cns, String[] subjectAlts)` Deprecated. Checks to see if the supplied hostname matches any of the supplied CNs or "DNS" Subject-Alts.

    - ### Methods inherited from class org.apache.http.conn.ssl.AbstractVerifier

      `acceptableCountryWildcard, countDots, getCNs, getDNSSubjectAlts, verify, verify, verify, verify`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### INSTANCE

          public static final StrictHostnameVerifier INSTANCE

      Deprecated.

  - ### Constructor Detail

    - #### StrictHostnameVerifier

          public StrictHostnameVerifier()

      Deprecated.

  - ### Method Detail

    - #### verify

          public final void verify(String host,
                    String[] cns,
                    String[] subjectAlts)
                            throws SSLException

      Deprecated.
      Description copied from interface: `X509HostnameVerifier`
      Checks to see if the supplied hostname matches any of the supplied CNs or "DNS" Subject-Alts. Most implementations only look at the first CN, and ignore any additional CNs. Most implementations do look at all of the "DNS" Subject-Alts. The CNs or Subject-Alts may contain wildcards according to RFC 2818.
      Parameters:
        `host` - The hostname to verify.
        `cns` - CN fields, in order, as extracted from the X.509 certificate.
        `subjectAlts` - Subject-Alt fields of type 2 ("DNS"), as extracted from the X.509 certificate.
      Throws:
        `SSLException` - if the verification process fails.

    - #### toString

          public final String toString()

      Deprecated.
      Overrides:
        `toString` in class `Object`

Copyright © 1999–2022 The Apache Software Foundation. All rights reserved.