Package 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".
- Author:
- Julius Davies
-
Constructor Summary
Constructors Constructor Description StrictHostnameVerifier() -
Method Summary
Methods inherited from class org.apache.http.conn.ssl.AbstractVerifier
acceptableCountryWildcard, countDots, getCNs, getDNSSubjectAlts, verify, verify, verify, verify
-
Constructor Details
-
StrictHostnameVerifier
public StrictHostnameVerifier()
-
-
Method Details
-
verify
Description copied from interface:X509HostnameVerifierChecks 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
Description copied from class:ObjectReturns 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 is equivalent to the following expression:getClass().getName() + '@' + Integer.toHexString(hashCode())
See Writing a useful
toStringmethod if you intend implementing your owntoStringmethod.
-