mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-07-05 00:56:58 +08:00
Upgrade to HttpClient5 5.3.1
Closes gh-39703
This commit is contained in:
parent
a52cc64701
commit
102215ee96
@ -442,17 +442,12 @@ bom {
|
||||
]
|
||||
}
|
||||
}
|
||||
library("HttpClient5", "5.2.3") {
|
||||
prohibit {
|
||||
versionRange "[5.3]"
|
||||
because "it can NPE when discarding a connection (https://issues.apache.org/jira/browse/HTTPCLIENT-2313)"
|
||||
}
|
||||
library("HttpClient5", "5.3.1") {
|
||||
group("org.apache.httpcomponents.client5") {
|
||||
modules = [
|
||||
"httpclient5",
|
||||
"httpclient5-cache",
|
||||
"httpclient5-fluent",
|
||||
"httpclient5-win",
|
||||
"httpclient5-fluent"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,7 @@ import java.net.URI;
|
||||
import java.security.KeyManagementException;
|
||||
import java.security.KeyStoreException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.time.Duration;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
@ -40,11 +41,11 @@ import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuil
|
||||
import org.apache.hc.client5.http.protocol.HttpClientContext;
|
||||
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory;
|
||||
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactoryBuilder;
|
||||
import org.apache.hc.client5.http.ssl.TrustSelfSignedStrategy;
|
||||
import org.apache.hc.core5.http.io.SocketConfig;
|
||||
import org.apache.hc.core5.http.protocol.HttpContext;
|
||||
import org.apache.hc.core5.http.ssl.TLS;
|
||||
import org.apache.hc.core5.ssl.SSLContextBuilder;
|
||||
import org.apache.hc.core5.ssl.TrustStrategy;
|
||||
|
||||
import org.springframework.boot.web.client.ClientHttpRequestFactorySettings;
|
||||
import org.springframework.boot.web.client.RestTemplateBuilder;
|
||||
@ -993,7 +994,7 @@ public class TestRestTemplate {
|
||||
ENABLE_REDIRECTS,
|
||||
|
||||
/**
|
||||
* Use a {@link SSLConnectionSocketFactory} with {@link TrustSelfSignedStrategy}.
|
||||
* Use a {@link SSLConnectionSocketFactory} that trusts self-signed certificates.
|
||||
*/
|
||||
SSL
|
||||
|
||||
@ -1085,4 +1086,13 @@ public class TestRestTemplate {
|
||||
|
||||
}
|
||||
|
||||
private static final class TrustSelfSignedStrategy implements TrustStrategy {
|
||||
|
||||
@Override
|
||||
public boolean isTrusted(X509Certificate[] chain, String authType) {
|
||||
return chain.length == 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -64,7 +64,6 @@ import org.apache.hc.client5.http.HttpHostConnectException;
|
||||
import org.apache.hc.client5.http.classic.HttpClient;
|
||||
import org.apache.hc.client5.http.impl.classic.HttpClients;
|
||||
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory;
|
||||
import org.apache.hc.client5.http.ssl.TrustSelfSignedStrategy;
|
||||
import org.apache.hc.core5.http.HttpResponse;
|
||||
import org.apache.hc.core5.http.NoHttpResponseException;
|
||||
import org.apache.hc.core5.ssl.SSLContextBuilder;
|
||||
|
@ -87,7 +87,6 @@ import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
|
||||
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
|
||||
import org.apache.hc.client5.http.protocol.HttpClientContext;
|
||||
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory;
|
||||
import org.apache.hc.client5.http.ssl.TrustSelfSignedStrategy;
|
||||
import org.apache.hc.core5.http.HttpResponse;
|
||||
import org.apache.hc.core5.http.io.HttpClientResponseHandler;
|
||||
import org.apache.hc.core5.http.protocol.HttpContext;
|
||||
@ -1404,7 +1403,7 @@ public abstract class AbstractServletWebServerFactoryTests {
|
||||
compression.setExcludedUserAgents(excludedUserAgents);
|
||||
}
|
||||
factory.setCompression(compression);
|
||||
factory.addInitializers(new ServletRegistrationBean<HttpServlet>(new HttpServlet() {
|
||||
factory.addInitializers(new ServletRegistrationBean<>(new HttpServlet() {
|
||||
|
||||
@Override
|
||||
protected void service(HttpServletRequest req, HttpServletResponse resp) throws IOException {
|
||||
@ -1631,7 +1630,7 @@ public abstract class AbstractServletWebServerFactoryTests {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
|
||||
public boolean isTrusted(X509Certificate[] chain, String authType) {
|
||||
String hexSerialNumber = chain[0].getSerialNumber().toString(16);
|
||||
boolean isMatch = hexSerialNumber.equalsIgnoreCase(this.serialNumber);
|
||||
return super.isTrusted(chain, authType) && isMatch;
|
||||
@ -1775,4 +1774,16 @@ public abstract class AbstractServletWebServerFactoryTests {
|
||||
|
||||
}
|
||||
|
||||
protected static class TrustSelfSignedStrategy implements TrustStrategy {
|
||||
|
||||
public TrustSelfSignedStrategy() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isTrusted(X509Certificate[] chain, String authType) {
|
||||
return chain.length == 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user