Skip to content

Commit ff65fb2

Browse files
authored
[Backport] Mute some security tests on problematic JDK8 build (elastic#75763)
* Mute some security tests on problematic JDK8 build This commit adds some `assumeFalse` (or modifies exising ones) to mute tests on JDK 1.8.0_292 due to JDK-8266279 On this JDK build, a race condition sometimes causes the PBEWithSHA1AndDESede algorithm to appear as though it is unavailable. Relates: elastic#75571, elastic#75417, elastic#75379, elastic#72639, elastic#72359 Backport of: elastic#75718 * Fix import
1 parent 885bc4a commit ff65fb2

File tree

3 files changed

+21
-23
lines changed

3 files changed

+21
-23
lines changed

x-pack/plugin/security/cli/src/test/java/org/elasticsearch/xpack/security/cli/CertificateGenerateToolTests.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.google.common.jimfs.Configuration;
1010
import com.google.common.jimfs.Jimfs;
1111
import org.bouncycastle.asn1.DLTaggedObject;
12-
import org.elasticsearch.bootstrap.JavaVersion;
1312
import org.elasticsearch.core.internal.io.IOUtils;
1413
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
1514
import org.bouncycastle.asn1.ASN1Sequence;
@@ -35,16 +34,14 @@
3534
import org.elasticsearch.env.TestEnvironment;
3635
import org.elasticsearch.test.ESTestCase;
3736
import org.elasticsearch.test.SecuritySettingsSourceField;
37+
import org.elasticsearch.xpack.core.ssl.CertParsingUtils;
38+
import org.elasticsearch.xpack.core.ssl.PemUtils;
3839
import org.elasticsearch.xpack.security.cli.CertificateGenerateTool.CAInfo;
3940
import org.elasticsearch.xpack.security.cli.CertificateGenerateTool.CertificateInformation;
4041
import org.elasticsearch.xpack.security.cli.CertificateGenerateTool.Name;
41-
import org.elasticsearch.xpack.core.ssl.CertParsingUtils;
42-
import org.elasticsearch.xpack.core.ssl.PemUtils;
4342
import org.junit.After;
4443
import org.junit.BeforeClass;
4544

46-
import javax.security.auth.x500.X500Principal;
47-
4845
import java.io.IOException;
4946
import java.io.InputStream;
5047
import java.io.Reader;
@@ -74,6 +71,7 @@
7471
import java.util.Set;
7572
import java.util.function.Function;
7673
import java.util.stream.Collectors;
74+
import javax.security.auth.x500.X500Principal;
7775

7876
import static org.elasticsearch.test.FileMatchers.pathExists;
7977
import static org.hamcrest.Matchers.containsString;
@@ -267,7 +265,8 @@ public void testGeneratingCsr() throws Exception {
267265

268266
public void testGeneratingSignedCertificates() throws Exception {
269267
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/72639",
270-
JavaVersion.current().compareTo(JavaVersion.parse("8")) == 0);
268+
"1.8.0_292".equals(System.getProperty("java.version")));
269+
271270
Path tempDir = initTempDir();
272271
Path outputFile = tempDir.resolve("out.zip");
273272
Path instanceFile = writeInstancesTo(tempDir.resolve("instances.yml"));

x-pack/plugin/security/cli/src/test/java/org/elasticsearch/xpack/security/cli/HttpCertificateCommandTests.java

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77

88
package org.elasticsearch.xpack.security.cli;
99

10+
import joptsimple.OptionSet;
11+
1012
import com.google.common.jimfs.Configuration;
1113
import com.google.common.jimfs.Jimfs;
12-
import joptsimple.OptionSet;
14+
1315
import org.bouncycastle.asn1.DERIA5String;
1416
import org.bouncycastle.asn1.DEROctetString;
1517
import org.bouncycastle.asn1.DLSequence;
@@ -23,7 +25,6 @@
2325
import org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest;
2426
import org.bouncycastle.util.io.pem.PemObject;
2527
import org.bouncycastle.util.io.pem.PemReader;
26-
import org.elasticsearch.bootstrap.JavaVersion;
2728
import org.elasticsearch.cli.MockTerminal;
2829
import org.elasticsearch.common.CheckedBiFunction;
2930
import org.elasticsearch.common.CheckedFunction;
@@ -39,7 +40,6 @@
3940
import org.junit.Before;
4041
import org.junit.BeforeClass;
4142

42-
import javax.security.auth.x500.X500Principal;
4343
import java.io.ByteArrayInputStream;
4444
import java.io.IOException;
4545
import java.io.InputStream;
@@ -81,6 +81,7 @@
8181
import java.util.function.Function;
8282
import java.util.stream.Collectors;
8383
import java.util.stream.Stream;
84+
import javax.security.auth.x500.X500Principal;
8485

8586
import static java.util.Collections.singletonMap;
8687
import static org.elasticsearch.test.FileMatchers.isDirectory;
@@ -116,10 +117,13 @@ public static void muteInFips() {
116117
assumeFalse("Can't run in a FIPS JVM", inFipsJvm());
117118
}
118119

119-
public void testGenerateSingleCertificateSigningRequest() throws Exception {
120+
@BeforeClass
121+
public static void muteOnBrokenJdk() {
120122
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/72359",
121-
JavaVersion.current().compareTo(JavaVersion.parse("8")) == 0);
123+
"1.8.0_292".equals(System.getProperty("java.version")));
124+
}
122125

126+
public void testGenerateSingleCertificateSigningRequest() throws Exception {
123127
final Path outFile = testRoot.resolve("csr.zip").toAbsolutePath();
124128

125129
final List<String> hostNames = randomHostNames();
@@ -220,8 +224,6 @@ public void testGenerateSingleCertificateSigningRequest() throws Exception {
220224
}
221225

222226
public void testGenerateSingleCertificateWithExistingCA() throws Exception {
223-
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/72359",
224-
JavaVersion.current().compareTo(JavaVersion.parse("8")) == 0);
225227
final Path outFile = testRoot.resolve("certs.zip").toAbsolutePath();
226228

227229
final List<String> hostNames = randomHostNames();
@@ -335,8 +337,6 @@ public void testGenerateSingleCertificateWithExistingCA() throws Exception {
335337
}
336338

337339
public void testGenerateMultipleCertificateWithNewCA() throws Exception {
338-
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/72359",
339-
JavaVersion.current().compareTo(JavaVersion.parse("8")) == 0);
340340
final Path outFile = testRoot.resolve("certs.zip").toAbsolutePath();
341341

342342
final int numberCerts = randomIntBetween(3, 6);
@@ -478,8 +478,6 @@ public void testGenerateMultipleCertificateWithNewCA() throws Exception {
478478
}
479479

480480
public void testParsingValidityPeriod() throws Exception {
481-
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/72359",
482-
JavaVersion.current().compareTo(JavaVersion.parse("8")) == 0);
483481
final HttpCertificateCommand command = new HttpCertificateCommand();
484482
final MockTerminal terminal = new MockTerminal();
485483

@@ -533,8 +531,6 @@ public void testParsingValidityPeriod() throws Exception {
533531
}
534532

535533
public void testValidityPeriodToString() throws Exception {
536-
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/72359",
537-
JavaVersion.current().compareTo(JavaVersion.parse("8")) == 0);
538534
assertThat(HttpCertificateCommand.toString(Period.ofYears(2)), is("2y"));
539535
assertThat(HttpCertificateCommand.toString(Period.ofMonths(5)), is("5m"));
540536
assertThat(HttpCertificateCommand.toString(Period.ofDays(60)), is("60d"));
@@ -548,8 +544,6 @@ public void testValidityPeriodToString() throws Exception {
548544
}
549545

550546
public void testGuessFileType() throws Exception {
551-
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/72359",
552-
JavaVersion.current().compareTo(JavaVersion.parse("8")) == 0);
553547
MockTerminal terminal = new MockTerminal();
554548

555549
final Path caCert = getDataPath("ca.crt");
@@ -577,8 +571,6 @@ public void testGuessFileType() throws Exception {
577571
}
578572

579573
public void testTextFileSubstitutions() throws Exception {
580-
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/72359",
581-
JavaVersion.current().compareTo(JavaVersion.parse("8")) == 0);
582574
CheckedBiFunction<String, Map<String, String>, String, Exception> copy = (source, subs) -> {
583575
try (InputStream in = new ByteArrayInputStream(source.getBytes(StandardCharsets.UTF_8));
584576
StringWriter out = new StringWriter();

x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/saml/SamlRealmTests.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.elasticsearch.xpack.core.security.authc.support.UserRoleMapper;
4141
import org.hamcrest.Matchers;
4242
import org.junit.Before;
43+
import org.junit.BeforeClass;
4344
import org.mockito.Mockito;
4445
import org.opensaml.saml.common.xml.SAMLConstants;
4546
import org.opensaml.saml.metadata.resolver.impl.AbstractReloadingMetadataResolver;
@@ -113,6 +114,12 @@ public void setupEnv() throws PrivilegedActionException {
113114
threadContext = new ThreadContext(globalSettings);
114115
}
115116

117+
@BeforeClass
118+
public static void muteOnBrokenJdk() {
119+
assumeFalse("JDK bug JDK-8266279, https://github.com/elastic/elasticsearch/issues/75571",
120+
"1.8.0_292".equals(System.getProperty("java.version")));
121+
}
122+
116123
public void testReadIdpMetadataFromFile() throws Exception {
117124
final Path path = getDataPath("idp1.xml");
118125
Tuple<RealmConfig, SSLService> config = buildConfig(path.toString());

0 commit comments

Comments
 (0)