From 49b4bcfc4b1e890b0fc87b50878b23890e112937 Mon Sep 17 00:00:00 2001 From: Benny Baumann Date: Wed, 25 Feb 2015 23:25:52 +0100 Subject: [PATCH] Fix: some smaller findBugs issues (static access, syncing, random..) --- tests/org/cacert/gigi/email/TestSendmail.java | 5 +- .../cacert/gigi/testUtils/ManagedTest.java | 16 +++-- .../org/cacert/gigi/util/SimpleSigner.java | 58 ++++++++++--------- 3 files changed, 45 insertions(+), 34 deletions(-) diff --git a/tests/org/cacert/gigi/email/TestSendmail.java b/tests/org/cacert/gigi/email/TestSendmail.java index ec3f69f2..83cb9aaa 100644 --- a/tests/org/cacert/gigi/email/TestSendmail.java +++ b/tests/org/cacert/gigi/email/TestSendmail.java @@ -21,6 +21,7 @@ import java.security.cert.CertificateException; import java.util.Base64; import java.util.Date; import java.util.Properties; +import java.util.Random; import javax.net.ssl.SSLSocketFactory; @@ -39,6 +40,8 @@ import sun.security.x509.X509CertInfo; public class TestSendmail extends ConfiguredTest { + private static final Random rng = new Random(); + @Test public void testSendmail() throws IOException, GeneralSecurityException { initSelfsign(); @@ -110,7 +113,7 @@ public class TestSendmail extends ConfiguredTest { X509CertInfo info = new X509CertInfo(); // Add all mandatory attributes info.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3)); - info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(new java.util.Random().nextInt() & 0x7fffffff)); + info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(rng.nextInt() & 0x7fffffff)); AlgorithmId algID = AlgorithmId.get("SHA256WithRSA"); info.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algID)); info.set(X509CertInfo.SUBJECT, new X500Name("EMAIL=system@cacert.org")); diff --git a/tests/org/cacert/gigi/testUtils/ManagedTest.java b/tests/org/cacert/gigi/testUtils/ManagedTest.java index d9fb31e7..4ac5d910 100644 --- a/tests/org/cacert/gigi/testUtils/ManagedTest.java +++ b/tests/org/cacert/gigi/testUtils/ManagedTest.java @@ -169,7 +169,7 @@ public class ManagedTest extends ConfiguredTest { public static void clearCaches() throws IOException { ObjectCache.clearAllCaches(); - String type = testProps.getProperty("type"); + // String type = testProps.getProperty("type"); URL u = new URL("https://" + getServerName() + "/manage"); u.openConnection().getHeaderField("Location"); } @@ -219,15 +219,19 @@ public class ManagedTest extends ConfiguredTest { @After public void clearAcceptLanguage() { - acceptLanguage = null; + ManagedTest.setAcceptLanguage(null); } public TestMail waitForMail() { - try { - return ter.recieve(); - } catch (InterruptedException e) { - throw new Error(e); + TestMail mail = null; + while (null == mail) { + try { + mail = ter.recieve(); + } catch (InterruptedException e) { + throw new Error(e); + } } + return mail; } public static TestEmailReciever getMailReciever() { diff --git a/util-testing/org/cacert/gigi/util/SimpleSigner.java b/util-testing/org/cacert/gigi/util/SimpleSigner.java index c07067e5..a9ed4645 100644 --- a/util-testing/org/cacert/gigi/util/SimpleSigner.java +++ b/util-testing/org/cacert/gigi/util/SimpleSigner.java @@ -274,36 +274,40 @@ public class SimpleSigner { subj.put("CN", ""); System.out.println("WARNING: DN was empty"); } - String[] call = new String[] { - "openssl", "ca",// - "-in", - "../../" + csrname,// - "-cert", - "../" + ca + ".crt",// - "-keyfile", - "../" + ca + ".key",// - "-out", - "../../" + crt.getPath(),// - "-utf8", - "-startdate", - sdf.format(fromDate),// - "-enddate", - sdf.format(toDate),// - "-batch",// - "-md", - rs.getString("md"),// - "-extfile", - "../" + f.getName(),// - - "-subj", - Certificate.stringifyDN(subj),// - "-config", - "../selfsign.config"// - - }; + String[] call; + synchronized (sdf) { + call = new String[] { + "openssl", "ca",// + "-in", + "../../" + csrname,// + "-cert", + "../" + ca + ".crt",// + "-keyfile", + "../" + ca + ".key",// + "-out", + "../../" + crt.getPath(),// + "-utf8", + "-startdate", + sdf.format(fromDate),// + "-enddate", + sdf.format(toDate),// + "-batch",// + "-md", + rs.getString("md"),// + "-extfile", + "../" + f.getName(),// + + "-subj", + Certificate.stringifyDN(subj),// + "-config", + "../selfsign.config"// + }; + } + if (ct == CSRType.SPKAC) { call[2] = "-spkac"; } + Process p1 = Runtime.getRuntime().exec(call, null, new File("keys/unassured.ca")); int waitFor = p1.waitFor(); -- 2.39.2