X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=util-testing%2Forg%2Fcacert%2Fgigi%2Futil%2FSimpleSigner.java;h=a9ed46456a20680b0621d994183190c420b5be3e;hp=c6f4660fc57ac6170b52451a8e54d5f8063f3051;hb=49b4bcfc4b1e890b0fc87b50878b23890e112937;hpb=575b68a79c66f34a6f7dfc2c0c361df5ec35684e diff --git a/util-testing/org/cacert/gigi/util/SimpleSigner.java b/util-testing/org/cacert/gigi/util/SimpleSigner.java index c6f4660f..a9ed4645 100644 --- a/util-testing/org/cacert/gigi/util/SimpleSigner.java +++ b/util-testing/org/cacert/gigi/util/SimpleSigner.java @@ -3,9 +3,11 @@ package org.cacert.gigi.util; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.Reader; import java.math.BigInteger; @@ -236,7 +238,7 @@ public class SimpleSigner { GigiResultSet san = getSANSs.executeQuery(); File f = new File("keys", "SANFile" + System.currentTimeMillis() + (counter++) + ".cfg"); - PrintWriter cfg = new PrintWriter(f); + PrintWriter cfg = new PrintWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); boolean first = true; while (san.next()) { if ( !first) { @@ -272,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();