Added in API level 1
Deprecated in API level 22

StrictHostnameVerifier

public class StrictHostnameVerifier
extends AbstractVerifier

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


This class was deprecated in API level 22.
Please use URL.openConnection() instead. Please visit this webpage for further details.

The Strict HostnameVerifier works the same way as Sun Java 1.4, Sun Java 5, Sun Java 6-rc. 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".

Summary

Public constructors

StrictHostnameVerifier()

Public methods

final String toString()

Returns a string representation of the object.

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

Inherited methods

static boolean acceptableCountryWildcard(String cn)
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.

final void verify(String host, String[] cns, String[] subjectAlts, boolean strictWithSubDomains)
final void verify(String host, SSLSocket ssl)
final void verify(String host, X509Certificate cert)
final boolean verify(String host, SSLSession session)

Verify that the host name is an acceptable match with the server's authentication scheme.

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract void verify(String host, SSLSocket ssl)
abstract void verify(String host, X509Certificate cert)
abstract void verify(String host, String[] cns, String[] subjectAlts)

Checks to see if the supplied hostname matches any of the supplied CNs or "DNS" Subject-Alts.

abstract boolean verify(String host, SSLSession session)

Verify that the host name is an acceptable match with the server's authentication scheme.

abstract boolean verify(String hostname, SSLSession session)

Verify that the host name is an acceptable match with the server's authentication scheme.

Public constructors

StrictHostnameVerifier

public StrictHostnameVerifier ()

Public methods

toString

Added in API level 1
public final String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

verify

Added in API level 1
public final void verify (String host, 
                String[] cns, 
                String[] subjectAlts)

Parameters
host String

cns String

subjectAlts String

Throws
SSLException