Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@
<cxf.httpcomponents.client.version>4.5.14</cxf.httpcomponents.client.version>
<cxf.httpcomponents.core.version.range>[4.3,4.5.0)</cxf.httpcomponents.core.version.range>
<cxf.httpcomponents.core.version>4.4.16</cxf.httpcomponents.core.version>
<cxf.httpcomponents.client5.version>5.6.2</cxf.httpcomponents.client5.version>
<cxf.httpcomponents.client5.version>5.6.4</cxf.httpcomponents.client5.version>
<cxf.httpcomponents.core5.version>5.4.3</cxf.httpcomponents.core5.version>
<cxf.jackson.version>3.2.1</cxf.jackson.version>
<cxf.jackson.databind.version>3.2.1</cxf.jackson.databind.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
import org.apache.hc.client5.http.impl.auth.BasicScheme;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.apache.hc.client5.http.ssl.DefaultClientTlsStrategy;
import org.apache.hc.client5.http.ssl.HostnameVerificationPolicy;
import org.apache.hc.core5.concurrent.BasicFuture;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.Header;
Expand Down Expand Up @@ -591,7 +592,7 @@ public Credentials getCredentials(final AuthScope authscope, HttpContext context
sslContext.getSupportedSSLParameters().getProtocols());

tlsStrategy = new DefaultClientTlsStrategy(sslcontext, protocols,
cipherSuites, SSLBufferMode.STATIC, verifier);
cipherSuites, SSLBufferMode.STATIC, HostnameVerificationPolicy.CLIENT, verifier);
} catch (final GeneralSecurityException e) {
LOG.warning(e.getMessage());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@
import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.apache.hc.client5.http.ssl.DefaultClientTlsStrategy;
import org.apache.hc.client5.http.ssl.HostnameVerificationPolicy;
import org.apache.hc.core5.concurrent.BasicFuture;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.Header;
Expand Down Expand Up @@ -584,7 +585,7 @@ public Credentials getCredentials(final AuthScope authscope, HttpContext context
sslContext.getSupportedSSLParameters().getProtocols());

tlsStrategy = new DefaultClientTlsStrategy(sslcontext, protocols,
cipherSuites, SSLBufferMode.STATIC, verifier);
cipherSuites, SSLBufferMode.STATIC, HostnameVerificationPolicy.CLIENT, verifier);
} catch (final GeneralSecurityException e) {
LOG.warning(e.getMessage());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@

package org.apache.cxf.transport.https;

import java.net.Socket;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.logging.Logger;

import javax.net.ssl.SSLEngine;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509ExtendedTrustManager;
import javax.net.ssl.X509TrustManager;

import org.apache.cxf.common.logging.LogUtils;
Expand All @@ -45,6 +48,11 @@ public static TrustManager[] getNoOpX509TrustManagers() {
return new TrustManager[] {new NoOpX509TrustManager()};
}

public static TrustManager[] getNoOpX509ExtendedTrustManagers() {
LOG.warning("This class essentially disables TLS trust verification and is insecure!");
return new TrustManager[] {new NoOpX509ExtendedTrustManager()};
}

private static final class NoOpX509TrustManager implements X509TrustManager {

private NoOpX509TrustManager() {
Expand All @@ -65,4 +73,39 @@ public X509Certificate[] getAcceptedIssuers() {
}

}

private static final class NoOpX509ExtendedTrustManager extends X509ExtendedTrustManager {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}

@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}

@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}

@Override
public void checkClientTrusted(X509Certificate[] chain, String authType, Socket socket)
throws CertificateException {
}

@Override
public void checkServerTrusted(X509Certificate[] chain, String authType, Socket socket)
throws CertificateException {
}

@Override
public void checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine)
throws CertificateException {
}

@Override
public void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine)
throws CertificateException {
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ private WebClient createWebClient(final String path, final boolean enableHttp2)
}

// Create TrustManager instance which trusts all clients and servers
params.setTrustManagers(InsecureTrustManager.getNoOpX509TrustManagers());
params.setTrustManagers(InsecureTrustManager.getNoOpX509ExtendedTrustManagers());
params.setDisableCNCheck(true);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ public void testCheckKeyManagersWithCertAlias() throws Exception {
assertNotNull("Service is null", service);

// Set up (shared) KeyManagers/TrustManagers
TrustManager[] trustManagers = InsecureTrustManager.getNoOpX509TrustManagers();
TrustManager[] trustManagers = InsecureTrustManager.getNoOpX509ExtendedTrustManagers();

KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public void testNoOpX509TrustManager() throws Exception {
}

TLSClientParameters tlsParams = new TLSClientParameters();
tlsParams.setTrustManagers(InsecureTrustManager.getNoOpX509TrustManagers());
tlsParams.setTrustManagers(InsecureTrustManager.getNoOpX509ExtendedTrustManagers());
tlsParams.setDisableCNCheck(true);

Client client = ClientProxy.getClient(port);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
</cxf:features>
</cxf:bus>

<bean id="trustManagers" class="org.apache.cxf.transport.https.InsecureTrustManager" factory-method="getNoOpX509TrustManagers"/>
<bean id="trustManagers" class="org.apache.cxf.transport.https.InsecureTrustManager" factory-method="getNoOpX509ExtendedTrustManagers"/>

<http:conduit name="https://localhost:.*">
<http:tlsClientParameters disableCNCheck="true">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ private WebClient createWebClient(final String path, final boolean enableHttp2)
}

// Create TrustManager instance which trusts all clients and servers
params.setTrustManagers(InsecureTrustManager.getNoOpX509TrustManagers());
params.setTrustManagers(InsecureTrustManager.getNoOpX509ExtendedTrustManagers());
params.setDisableCNCheck(true);
}

Expand Down
Loading