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
public class StrictHostnameVerifier
- extends AbstractVerifier
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".
|
Method Summary |
String |
toString()
Returns a string containing a concise, human-readable description of the
receiver. |
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. |
StrictHostnameVerifier
public StrictHostnameVerifier()
verify
public final void verify(String host,
String[] cns,
String[] subjectAlts)
throws SSLException
- 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 verification failed.
toString
public final String toString()
- Description copied from class:
Object
- Returns a string containing a concise, human-readable description of the
receiver.
- Overrides:
toString in class Object
- Returns:
- String a printable representation for the receiver.
Please submit a feedback, bug or feature