X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=util%2Forg%2Fcacert%2Fgigi%2Futil%2FSimpleSigner.java;h=04602d82c7b66db2ba0c8799a0366903219f68e4;hp=d3b168a995547ebdc19af869cac4d59cade577e5;hb=a793cf333e23cba27e2ce4378becc0426f1e186a;hpb=3fe883ddebca5de19caf5ef68c492db7eb6dc342 diff --git a/util/org/cacert/gigi/util/SimpleSigner.java b/util/org/cacert/gigi/util/SimpleSigner.java index d3b168a9..04602d82 100644 --- a/util/org/cacert/gigi/util/SimpleSigner.java +++ b/util/org/cacert/gigi/util/SimpleSigner.java @@ -18,12 +18,14 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; +import java.util.HashMap; import java.util.Properties; import java.util.TimeZone; import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; +import org.cacert.gigi.dbObjects.Certificate; import org.cacert.gigi.dbObjects.Certificate.CSRType; import org.cacert.gigi.output.DateSelector; @@ -77,7 +79,7 @@ public class SimpleSigner { throw new IllegalStateException("already running"); } running = true; - readyCerts = DatabaseConnection.getInstance().prepare("SELECT certs.id AS id, certs.csr_name, certs.subject, jobs.id AS jobid, csr_type, md, keyUsage, extendedKeyUsage, executeFrom, executeTo, rootcert FROM jobs " + // + readyCerts = DatabaseConnection.getInstance().prepare("SELECT certs.id AS id, certs.csr_name, jobs.id AS jobid, csr_type, md, keyUsage, extendedKeyUsage, executeFrom, executeTo, rootcert FROM jobs " + // "INNER JOIN certs ON certs.id=jobs.targetId " + // "INNER JOIN profiles ON profiles.id=certs.profile " + // "WHERE jobs.state='open' "// @@ -257,7 +259,17 @@ public class SimpleSigner { } else if (rootcert == 1) { ca = "assured"; } - + HashMap subj = new HashMap<>(); + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT name, value FROM certAvas WHERE certId=?"); + ps.setInt(1, rs.getInt("id")); + GigiResultSet rs2 = ps.executeQuery(); + while (rs2.next()) { + subj.put(rs2.getString("name"), rs2.getString("value")); + } + if (subj.size() == 0) { + subj.put("CN", ""); + System.out.println("WARNING: DN was empty"); + } String[] call = new String[] { "openssl", "ca",// "-in", @@ -280,7 +292,7 @@ public class SimpleSigner { "../" + f.getName(),// "-subj", - rs.getString("subject"),// + Certificate.stringifyDN(subj),// "-config", "../selfsign.config"//