public class

StrictHostnameVerifier

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

Class Overview

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 containing a concise, human-readable description of this object.
final void verify(String host, String[] cns, String[] subjectAlts)
[Expand]
Inherited Methods
From class org.apache.http.conn.ssl.AbstractVerifier
From class java.lang.Object
From interface javax.net.ssl.HostnameVerifier
From interface org.apache.http.conn.ssl.X509HostnameVerifier

Public Constructors

public StrictHostnameVerifier ()

Since: API Level 1

Public Methods

public final String toString ()

Since: API Level 1

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation simply concatenates the class name, the '@' sign and a hexadecimal representation of the object's hashCode(), that is, it is equivalent to the following expression:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
  • a printable representation of this object.

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

Since: API Level 1

Throws
SSLException