]> WPIA git - gigi.git/blobdiff - util-testing/org/cacert/gigi/pages/Manager.java
UPD: Cleanup User-class.
[gigi.git] / util-testing / org / cacert / gigi / pages / Manager.java
index cccb0ac9b25ae3da8c0418b4de8aa59099305b1e..9b4144a60a46e43c7a6146472ea0a39fcde69c1c 100644 (file)
@@ -25,6 +25,8 @@ import org.cacert.gigi.GigiApiException;
 import org.cacert.gigi.crypto.SPKAC;
 import org.cacert.gigi.database.DatabaseConnection;
 import org.cacert.gigi.database.GigiPreparedStatement;
+import org.cacert.gigi.dbObjects.Certificate;
+import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
 import org.cacert.gigi.dbObjects.Digest;
 import org.cacert.gigi.dbObjects.EmailAddress;
 import org.cacert.gigi.dbObjects.Group;
@@ -147,16 +149,10 @@ public class Manager extends Page {
     }
 
     private void createUser(String email) throws GigiApiException, IllegalAccessException {
-        User u = new User();
-        u.setName(new Name("Först", "Läst", "Müddle", "Süffix"));
-        u.setEmail(email);
         Calendar gc = GregorianCalendar.getInstance();
         gc.set(1990, 0, 1);
-        u.setDoB(new Date(gc.getTime().getTime()));
-        u.setPreferredLocale(Locale.ENGLISH);
-        u.insert("xvXV12°§");
-        EmailAddress ea = new EmailAddress(u, email);
-        ea.insert(Language.getInstance(Locale.ENGLISH));
+        User u = new User(email, "xvXV12°§", new Name("Först", "Läst", "Müddle", "Süffix"), new Date(gc.getTime().getTime()), Locale.ENGLISH);
+        EmailAddress ea = u.getEmails()[0];
         String hash = (String) f.get(ea);
 
         ea.verify(hash);
@@ -211,9 +207,8 @@ public class Manager extends Page {
             resp.getWriter().println("User has been assured.");
         } else if (req.getParameter("addEmail") != null) {
             User u = User.getByEmail(req.getParameter("addEmailEmail"));
-            EmailAddress ea = new EmailAddress(u, req.getParameter("addEmailNew"));
             try {
-                ea.insert(Language.getInstance(Locale.ENGLISH));
+                EmailAddress ea = new EmailAddress(u, req.getParameter("addEmailNew"), Locale.ENGLISH);
                 String hash = (String) f.get(ea);
                 ea.verify(hash);
                 resp.getWriter().println("Email added and verified");
@@ -240,13 +235,21 @@ public class Manager extends Page {
 
                 CertificateRequest cr = new CertificateRequest(u, Base64.getEncoder().encodeToString(res), "challange");
                 cr.update(CertificateRequest.DEFAULT_CN, Digest.SHA512.toString(), "client", null, "", "email:" + u.getEmail(), resp.getWriter(), req);
-                cr.draft().issue(null, "2y");
-                resp.getWriter().println("added certificate");
+                Certificate draft = cr.draft();
+                draft.issue(null, "2y").waitFor(10000);
+                if (draft.getStatus() == CertificateStatus.ISSUED) {
+                    resp.getWriter().println("added certificate");
+                } else {
+                    resp.getWriter().println("signer failed");
+                }
             } catch (GeneralSecurityException e1) {
                 e1.printStackTrace();
                 resp.getWriter().println("error");
             } catch (GigiApiException e) {
                 e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH));
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+                resp.getWriter().println("interrupted");
             }
 
         }