Added in API level 1
Deprecated in API level 22

X509HostnameVerifier

interface X509HostnameVerifier : HostnameVerifier
org.apache.http.conn.ssl.X509HostnameVerifier

Interface for checking if a hostname matches the names stored inside the server's X.509 certificate. Implements javax.net.ssl.HostnameVerifier, but we don't actually use that interface. Instead we added some methods that take String parameters (instead of javax.net.ssl.HostnameVerifier's SSLSession). JUnit is a lot easier this way! :-)

We provide the HostnameVerifier.DEFAULT, HostnameVerifier.STRICT, and HostnameVerifier.ALLOW_ALL implementations. But feel free to define your own implementation!

Inspired by Sebastian Hauer's original StrictSSLProtocolSocketFactory in the HttpClient "contrib" repository.

Summary

Public methods
abstract Unit
verify(host: String!, cns: Array<String!>!, subjectAlts: Array<String!>!)

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

abstract Unit
verify(host: String!, cert: X509Certificate!)

abstract Boolean
verify(host: String!, session: SSLSession!)

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

abstract Unit
verify(host: String!, ssl: SSLSocket!)

Public methods

verify

Added in API level 1
abstract fun verify(
    host: String!,
    cns: Array<String!>!,
    subjectAlts: Array<String!>!
): Unit

Deprecated: Deprecated in Java.

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 Array<String!>!: CN fields, in order, as extracted from the X.509 certificate.
subjectAlts Array<String!>!: Subject-Alt fields of type 2 ("DNS"), as extracted from the X.509 certificate.
Exceptions
javax.net.ssl.SSLException If verification failed.

verify

Added in API level 1
abstract fun verify(
    host: String!,
    cert: X509Certificate!
): Unit

Deprecated: Deprecated in Java.

verify

Added in API level 1
abstract fun verify(
    host: String!,
    session: SSLSession!
): Boolean

Deprecated: Deprecated in Java.

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

Parameters
hostname the host name
session SSLSession!: SSLSession used on the connection to host
Return
Boolean true if the host name is acceptable

verify

Added in API level 1
abstract fun verify(
    host: String!,
    ssl: SSLSocket!
): Unit

Deprecated: Deprecated in Java.