Top Description Fields Constructors Methods
org.apache.http.conn.ssl

public Class StrictHostnameVerifier

extends AbstractVerifier
Class Inheritance
Annotations
@Contract
threading:IMMUTABLE
@Deprecated
Imports
javax.net.ssl.SSLException, org.apache.http.annotation.Contract, .ThreadingBehavior

Deprecated

(4.4) Use org.apache.http.conn.ssl.DefaultHostnameVerifier

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

Modifier and TypeField and Description
public static final StrictHostnameVerifier
INSTANCE

Deprecated as a consequence of StrictHostnameVerifier being deprecated.
Inherited from org.apache.http.conn.ssl.AbstractVerifier:
BAD_COUNTRY_2LDS

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public final String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
public final void
verify(final String
The hostname to verify.
host
,
final String[]
CN fields, in order, as extracted from the X.509 certificate.
cns
,
final String[]
Subject-Alt fields of type 2 ("DNS"), as extracted from the X.509 certificate.
subjectAlts
)

Implements org.apache.http.conn.ssl.X509HostnameVerifier.verify.

Checks to see if the supplied hostname matches any of the supplied CNs or "DNS" Subject-Alts.
Inherited from org.apache.http.conn.ssl.AbstractVerifier:
acceptableCountryWildcardcountDotsgetCNsgetDNSSubjectAltsverifyverifyverifyverify

Field Detail

INSTANCEback to summary
public static final StrictHostnameVerifier INSTANCE

Deprecated

as a consequence of StrictHostnameVerifier being deprecated. See corresponding docs for further information.

Constructor Detail

StrictHostnameVerifierback to summary
public StrictHostnameVerifier()

Method Detail

toStringback to summary
public final String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override
verifyback to summary
public final void verify(final String host, final String[] cns, final String[] subjectAlts) throws SSLException

Implements org.apache.http.conn.ssl.X509HostnameVerifier.verify.

Doc from org.apache.http.conn.ssl.X509HostnameVerifier.verify.

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:String

The hostname to verify.

cns:String[]

CN fields, in order, as extracted from the X.509 certificate.

subjectAlts:String[]

Subject-Alt fields of type 2 ("DNS"), as extracted from the X.509 certificate.

Annotations
@Override
Exceptions
SSLException:
if the verification process fails.