Skip to content

Commit ddb51ec

Browse files
tpetraccaj-baker
authored andcommitted
[fix] conjure-java-runtime now again supports CN based cert verification
1 parent 56046f2 commit ddb51ec

File tree

8 files changed

+669
-0
lines changed

8 files changed

+669
-0
lines changed

.baseline/checkstyle/checkstyle-suppressions.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,6 @@
3030

3131
<suppress files=".*AsyncSerializableErrorCallAdapterFactory\.java" checks="RegexpHeader" />
3232
<suppress files=".*BlockingLimiter\.java" checks="RegexpHeader" />
33+
<suppress files=".*DistinguishedNameParser\.java" checks="." />
34+
<suppress files=".*Okhttp39HostnameVerifier\.java" checks="." />
3335
</suppressions>

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ build/
1111
.project
1212
.settings
1313
bin/
14+
generated/
1415

1516
# Idea
1617
*.iml

client-config/src/main/java/com/palantir/conjure/java/client/config/ClientConfiguration.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ public interface ClientConfiguration {
5858
/** See {@link com.palantir.conjure.java.api.config.service.PartialServiceConfiguration#enableGcmCipherSuites}. */
5959
boolean enableGcmCipherSuites();
6060

61+
/**
62+
* See {@link
63+
* com.palantir.conjure.java.api.config.service.PartialServiceConfiguration#fallbackToCommonNameVerification}.
64+
*/
65+
boolean fallbackToCommonNameVerification();
66+
6167
/** The proxy to use for the HTTP connection. */
6268
ProxySelector proxy();
6369

client-config/src/main/java/com/palantir/conjure/java/client/config/ClientConfigurations.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public final class ClientConfigurations {
4343
private static final Duration DEFAULT_BACKOFF_SLOT_SIZE = Duration.ofMillis(250);
4444
private static final Duration DEFAULT_FAILED_URL_COOLDOWN = Duration.ZERO;
4545
private static final boolean DEFAULT_ENABLE_GCM_CIPHERS = false;
46+
private static final boolean DEFAULT_FALLBACK_TO_COMMON_NAME_VERIFICATION = false;
4647
private static final NodeSelectionStrategy DEFAULT_NODE_SELECTION_STRATEGY = NodeSelectionStrategy.PIN_UNTIL_ERROR;
4748
private static final int DEFAULT_MAX_NUM_RETRIES = 4;
4849

@@ -61,6 +62,8 @@ public static ClientConfiguration of(ServiceConfiguration config) {
6162
.readTimeout(config.readTimeout().orElse(DEFAULT_READ_TIMEOUT))
6263
.writeTimeout(config.writeTimeout().orElse(DEFAULT_WRITE_TIMEOUT))
6364
.enableGcmCipherSuites(config.enableGcmCipherSuites().orElse(DEFAULT_ENABLE_GCM_CIPHERS))
65+
.fallbackToCommonNameVerification(config.fallbackToCommonNameVerification()
66+
.orElse(DEFAULT_FALLBACK_TO_COMMON_NAME_VERIFICATION))
6467
.proxy(config.proxy().map(ClientConfigurations::createProxySelector).orElse(ProxySelector.getDefault()))
6568
.proxyCredentials(config.proxy().flatMap(ProxyConfiguration::credentials))
6669
.meshProxy(meshProxy(config.proxy()))
@@ -85,6 +88,7 @@ public static ClientConfiguration of(
8588
.readTimeout(DEFAULT_READ_TIMEOUT)
8689
.writeTimeout(DEFAULT_WRITE_TIMEOUT)
8790
.enableGcmCipherSuites(DEFAULT_ENABLE_GCM_CIPHERS)
91+
.fallbackToCommonNameVerification(DEFAULT_FALLBACK_TO_COMMON_NAME_VERIFICATION)
8892
.proxy(ProxySelector.getDefault())
8993
.proxyCredentials(Optional.empty())
9094
.maxNumRetries(DEFAULT_MAX_NUM_RETRIES)

client-config/src/test/java/com/palantir/conjure/java/client/config/ClientConfigurationsTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public void testFromServiceConfig_fillsInDefaults() {
5454
assertThat(actual.readTimeout()).isEqualTo(Duration.ofMinutes(10));
5555
assertThat(actual.writeTimeout()).isEqualTo(Duration.ofMinutes(10));
5656
assertThat(actual.enableGcmCipherSuites()).isFalse();
57+
assertThat(actual.fallbackToCommonNameVerification()).isFalse();
5758
assertThat(actual.proxy().select(URI.create("https://foo"))).containsExactly(Proxy.NO_PROXY);
5859
}
5960

@@ -70,6 +71,7 @@ public void testFromParameters_fillsInDefaults() {
7071
assertThat(actual.readTimeout()).isEqualTo(Duration.ofMinutes(10));
7172
assertThat(actual.writeTimeout()).isEqualTo(Duration.ofMinutes(10));
7273
assertThat(actual.enableGcmCipherSuites()).isFalse();
74+
assertThat(actual.fallbackToCommonNameVerification()).isFalse();
7375
assertThat(actual.proxy().select(URI.create("https://foo"))).containsExactly(Proxy.NO_PROXY);
7476
}
7577

0 commit comments

Comments
 (0)