]> WPIA git - gigi.git/blobdiff - util-testing/org/cacert/gigi/util/SimpleSigner.java
fix: simple signers SPKAC-support
[gigi.git] / util-testing / org / cacert / gigi / util / SimpleSigner.java
index 77f6e94720b801d421a108eea961fdd9747b47f6..d42ec94a00826edd2b14fbc5c8b5c80bc554bef0 100644 (file)
@@ -53,7 +53,6 @@ import org.cacert.gigi.dbObjects.Certificate.SubjectAlternateName;
 import org.cacert.gigi.dbObjects.CertificateProfile;
 import org.cacert.gigi.dbObjects.Digest;
 import org.cacert.gigi.output.DateSelector;
-import org.cacert.gigi.testUtils.IOUtils;
 
 import sun.security.pkcs10.PKCS10;
 import sun.security.util.DerOutputStream;
@@ -192,30 +191,11 @@ public class SimpleSigner {
         while (rs.next()) {
             int id = rs.getInt(1);
             File crt = KeyStorage.locateCrt(id);
-            String[] call = new String[] {
-                    "openssl", "ca",//
-                    "-cert",
-                    "../unassured.crt",//
-                    "-keyfile",
-                    "../unassured.key",//
-                    "-revoke",
-                    "../../" + crt.getPath(),//
-                    "-batch",//
-                    "-config",
-                    "../selfsign.config"
-
-            };
-            Process p1 = Runtime.getRuntime().exec(call, null, new File("keys/unassured.ca"));
-            System.out.println("revoking: " + crt.getPath());
-            if (p1.waitFor() == 0) {
-                worked = true;
-                revokeCompleted.setInt(1, id);
-                revokeCompleted.execute();
-                finishJob.setInt(1, rs.getInt(3));
-                finishJob.execute();
-            } else {
-                System.out.println("Failed");
-            }
+            worked = true;
+            revokeCompleted.setInt(1, id);
+            revokeCompleted.execute();
+            finishJob.setInt(1, rs.getInt(3));
+            finishJob.execute();
         }
         if (worked) {
             gencrl();
@@ -223,6 +203,9 @@ public class SimpleSigner {
     }
 
     private static void gencrl() throws IOException, InterruptedException {
+        if (true) {
+            return;
+        }
         String[] call = new String[] {
                 "openssl", "ca",//
                 "-cert",
@@ -329,7 +312,13 @@ public class SimpleSigner {
                 PublicKey pk;
                 byte[] data = IOUtils.readURL(new FileInputStream(csrname));
                 if (ct == CSRType.SPKAC) {
-                    SPKAC sp = new SPKAC(data);
+                    String dt = new String(data);
+                    if (dt.startsWith("SPKAC=")) {
+                        dt = dt.substring(6);
+                        data = dt.getBytes();
+                        System.out.println(dt);
+                    }
+                    SPKAC sp = new SPKAC(Base64.getDecoder().decode(data));
                     pk = sp.getPubkey();
                 } else {
                     PKCS10 p10 = new PKCS10(PEM.decode("(NEW )?CERTIFICATE REQUEST", new String(data)));