CertificateRequest cr = new CertificateRequest(ctx, csr, cp);
Certificate result = cr.draft();
Job job = result.issue(null, "2y", u);
- job.waitFor(60000);
+ job.waitFor(Job.WAIT_MIN);
if (result.getStatus() != CertificateStatus.ISSUED) {
resp.sendError(510, "Error, issuing timed out");
return;
}
Job job = c.revoke(RevocationType.USER);
- job.waitFor(60000);
+ job.waitFor(Job.WAIT_MIN);
if (c.getStatus() != CertificateStatus.REVOKED) {
resp.sendError(510, "Error, issuing timed out");
return;
public class Job implements IdCachable {
+ public static int WAIT_MIN = 60000;
+
private int id;
private Job(int id) {
// TODO Check for open jobs!
if (cert.getStatus() == CertificateStatus.ISSUED) {
writeSELog("SE Revoke certificate");
- cert.revoke(RevocationType.SUPPORT).waitFor(60000);
+ cert.revoke(RevocationType.SUPPORT).waitFor(Job.WAIT_MIN);
// send notification to support
String subject = "Revoke certificate";
Outputable message = SprintfCommand.createSimple("Certificate with serial number {0} for {1} <{2}> has been revoked.", cert.getSerial(), target.getPreferredName().toString(), target.getEmail());
}
LinkedList<Job> revokes = new LinkedList<Job>();
for (Certificate cert : fetchActiveEmailCertificates(delMail.getAddress())) {
- revokes.add(cert.revoke(RevocationType.USER));
+ cert.revoke(RevocationType.USER).waitFor(Job.WAIT_MIN);
}
long start = System.currentTimeMillis();
for (Job job : revokes) {
import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName;
import club.wpia.gigi.dbObjects.CertificateProfile;
import club.wpia.gigi.dbObjects.Domain;
+import club.wpia.gigi.dbObjects.Job;
import club.wpia.gigi.dbObjects.Organisation;
import club.wpia.gigi.dbObjects.User;
import club.wpia.gigi.localisation.Language;
}
result.setDescription(description);
}
- result.issue(issueDate.getFrom(), issueDate.getTo(), c.getActor()).waitFor(60000);
+ result.issue(issueDate.getFrom(), issueDate.getTo(), c.getActor()).waitFor(Job.WAIT_MIN);
this.result = result;
Certificate c = result;
if (c.getStatus() != CertificateStatus.ISSUED) {
}
long start = System.currentTimeMillis();
for (Job job : revokes) {
- int toWait = (int) (60000 + start - System.currentTimeMillis());
+ int toWait = (int) (Job.WAIT_MIN + start - System.currentTimeMillis());
if (toWait > 0) {
job.waitFor(toWait);
} else {
import club.wpia.gigi.GigiApiException;
import club.wpia.gigi.dbObjects.Certificate;
import club.wpia.gigi.dbObjects.Certificate.RevocationType;
+import club.wpia.gigi.dbObjects.Job;
import club.wpia.gigi.dbObjects.SupportedUser;
import club.wpia.gigi.localisation.Language;
import club.wpia.gigi.output.template.Form;
if (target != null) {
target.revokeCertificate(c);
} else {
- c.revoke(RevocationType.USER).waitFor(60000);
+ c.revoke(RevocationType.USER).waitFor(Job.WAIT_MIN);
}
return new RedirectResult(req.getPathInfo());
}
throw new GigiApiException("Sending the notification mail failed.");
}
Job j = c.revoke(challenge, Base64.getEncoder().encodeToString(signature), message);
- if ( !j.waitFor(60000)) {
+ if ( !j.waitFor(Job.WAIT_MIN)) {
throw new PermamentFormException(new GigiApiException("Revocation timed out."));
}
if (c.getStatus() != CertificateStatus.REVOKED) {
KeyPair kp = generateKeypair();
String key = generatePEMCSR(kp, "CN=" + email);
Certificate c = new Certificate(u, u, Certificate.buildDN("CN", email), Digest.SHA256, key, CSRType.CSR, getClientProfile(), new Certificate.SubjectAlternateName(SANType.EMAIL, email));
- c.issue(null, "2y", u).waitFor(60000);
+ c.issue(null, "2y", u).waitFor(Job.WAIT_MIN);
u.deleteEmail(testAddress);