import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import club.wpia.gigi.GigiApiException;
import club.wpia.gigi.dbObjects.Certificate;
import club.wpia.gigi.dbObjects.Certificate.CertificateStatus;
import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName;
String serial = pi;
try {
Certificate c = Certificate.getBySerial(serial);
- if (c == null || LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId()) {
+ if (c == null || ( !support && LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId())) {
resp.sendError(404);
return true;
}
} catch (IllegalArgumentException e) {
resp.sendError(404);
return true;
+ } catch (GigiApiException e) {
+ resp.sendError(404);
+ return true;
} catch (GeneralSecurityException e) {
resp.sendError(404);
return true;
Certificate c = Certificate.getBySerial(serial);
Language l = LoginPage.getLanguage(req);
- if ( !support && (c == null || LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId())) {
+ if (c == null || ( !support && LoginPage.getAuthorizationContext(req).getTarget().getId() != c.getOwner().getId())) {
resp.sendError(404);
return;
}
vars.put("login", c.isLoginEnabled());
} catch (GeneralSecurityException e) {
e.printStackTrace();
+ } catch (GigiApiException e) {
+ e.format(out, l, getDefaultVars(req));
}
certDisplay.output(out, getLanguage(req), vars);