Added in API level 1
Deprecated in API level 22

X509HostnameVerifier

interface X509HostnameVerifier : HostnameVerifier
AbstractVerifier

Abstract base class for all standard X509HostnameVerifier implementations.

AllowAllHostnameVerifier

The ALLOW_ALL HostnameVerifier essentially turns hostname verification off.

BrowserCompatHostnameVerifier

The HostnameVerifier that works the same way as Curl and Firefox.

StrictHostnameVerifier

The Strict HostnameVerifier works the same way as Sun Java 1.


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!)

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
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.
host String!: The hostname to verify.
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.

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.