Skip to content

Commit 097a46b

Browse files
kannanjgithubejona86
authored andcommittedMar 28, 2024·
Use empty string instead of null for endpoint identification algorithm to disable server hostname verification, since null value gets ignored in Sun's SSLEngine implementation.
1 parent 0064991 commit 097a46b

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed
 

Diff for: ‎xds/src/main/java/io/grpc/xds/internal/security/trust/XdsX509TrustManager.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ public void checkServerTrusted(X509Certificate[] chain, String authType, Socket
229229
SSLSocket sslSocket = (SSLSocket) socket;
230230
SSLParameters sslParams = sslSocket.getSSLParameters();
231231
if (sslParams != null) {
232-
sslParams.setEndpointIdentificationAlgorithm(null);
232+
sslParams.setEndpointIdentificationAlgorithm("");
233233
sslSocket.setSSLParameters(sslParams);
234234
}
235235
}
@@ -242,7 +242,7 @@ public void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngi
242242
throws CertificateException {
243243
SSLParameters sslParams = sslEngine.getSSLParameters();
244244
if (sslParams != null) {
245-
sslParams.setEndpointIdentificationAlgorithm(null);
245+
sslParams.setEndpointIdentificationAlgorithm("");
246246
sslEngine.setSSLParameters(sslParams);
247247
}
248248
delegate.checkServerTrusted(chain, authType, sslEngine);

Diff for: ‎xds/src/test/java/io/grpc/xds/internal/security/trust/XdsX509TrustManagerTest.java

+2
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,7 @@ public void checkServerTrustedSslEngine()
534534
CertificateUtils.toX509Certificates(TlsTesting.loadCert(SERVER_1_PEM_FILE));
535535
trustManager.checkServerTrusted(serverCerts, "ECDHE_ECDSA", sslEngine);
536536
verify(sslEngine, times(1)).getHandshakeSession();
537+
assertThat(sslEngine.getSSLParameters().getEndpointIdentificationAlgorithm()).isEmpty();
537538
}
538539

539540
@Test
@@ -561,6 +562,7 @@ public void checkServerTrustedSslSocket()
561562
trustManager.checkServerTrusted(serverCerts, "ECDHE_ECDSA", sslSocket);
562563
verify(sslSocket, times(1)).isConnected();
563564
verify(sslSocket, times(1)).getHandshakeSession();
565+
assertThat(sslSocket.getSSLParameters().getEndpointIdentificationAlgorithm()).isEmpty();
564566
}
565567

566568
@Test

0 commit comments

Comments
 (0)
Please sign in to comment.