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;
}
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);
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");
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");
}
}