HttpClient 4.3 имел три статические переменные в org.apache.http.conn.ssl.SSLConnectionSocketFactory
:
- STRICT_HOSTNAME_VERIFIER
- BROWSER_COMPATIBLE_HOSTNAME_VERIFIER
- ALLOW_ALL__HOSTNAME_VERIFIER
При обновлении зависимости от версии 4.4 HttpClient я вижу, что все вышеперечисленные константы устарели. В примечании к устареванию в JavaDoc упоминалось использование org.apache.http.conn.ssl.DefaultHostnameVerifier
. Читая документы, я предполагаю, что DefaultHostnameVerifier
является прямой заменой на STRICT_HOSTNAME_VERIFIER
. Также ALLOW_ALL__HOSTNAME_VERIFIER
легко реализовать:
package org.wiztools.restclient.http;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
/**
*
* @author subwiz
*/
public class AllowAllHostnameVerifier implements HostnameVerifier {
@Override
public boolean verify(String string, SSLSession ssls) {
return true;
}
}
Существует тонкое различие между STRICT_HOSTNAME_VERIFIER
и BROWSER_COMPATIBLE_HOSTNAME_VERIFIER
(из JavaDoc):
Единственная разница между BROWSER_COMPATIBLE и STRICT заключается в том, что подстановочный знак (например, "*.foo.com" ) с BROWSER_COMPATIBLE соответствует всем поддоменам, включая "a.b.foo.com".
У нас есть легкодоступный верификатор хоста BROWSER_COMPATIBLE
для httpclient 4.4?